Ver Mensaje Individual
  #1  
Antiguo 12-09-2016
cd.rafael cd.rafael is offline
Miembro
 
Registrado: abr 2012
Posts: 59
Reputación: 13
cd.rafael Va por buen camino
HTML sin código fuente (generado con PHP)

Cordial saludo,

Tengo un inconveniente respecto a la actualización del contenido de un DIV usando jQuery y PHP. Me explico:

Tengo un página PHP así:

Código:
	<?php
		session_start();
	?>
	<!DOCTYPE html>
	<html>
		<head>
			<meta charset="UTF-8">
			<!---->
			<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
			<!---->
			<script src="jquery.min-3.1.0.js"></script>
			<!---->
			<script src="jquery-1.10.2.js"></script>
			<script src="jquery-ui-1.11.14.js"></script>
			<!---->
			<script src="opciones.js"></script>
			<!---->
		</head>
		<body>
			<div id="listadoDIV">
				<?php include('listados.php')?>
			</div>
		</body>
	</html>
El archivo "listados.php" genera una tabla con los datos que necesito:

Código PHP:
        <?php
        
include 'conectaBD.php';
        
$SQL 'select * from tabla';
        echo 
'<table>';
        echo 
'<tr>';
        echo 
'<th class="Buscar" onclick="fBusca(\'campo1\')" >Campo 1</th>';
        echo 
'<th class="Buscar" onclick="fBusca(\'campo2\')" >Campo 2</th>';
        echo 
'<th class="Buscar" onclick="fBusca(\'campo3\')" >Campo 3</th>';
        echo 
'<th>Opciones</th>';
        echo 
'</tr>';
        if(
$Resultados sqlsrv_query($Enlace$SQLnull))
        {
            if(
$Resultados != false)
            {
                while(
$Dato sqlsrv_fetch_array($ResultadosSQLSRV_FETCH_ASSOC))
                {
                    echo 
'<tr>';
                    echo 
'<td>' $Dato['campo1'] . '</td>';
                    echo 
'<td>' $Dato['campo2'] . '</td>';
                    echo 
'<td>' $Dato['campo3'] . '</td>';
                    echo 
'<td> <select id="Opciones" name="' $Dato['campo1'] . '" onchange="fIr()">';
                    echo 
'<option value=""></option>';
                    echo 
'<option value="A">Opción A</option>';
                    echo 
'<option value="B">Opción B</option>';
                    echo 
'<option value="C">Opción C</option>';
                    echo 
'</select></td>';
                    echo 
'</tr>';
                }
            }
            
sqlsrv_free_stmt($Resultados);
        }
        echo 
'</table>';
    
?>
Hasta aquí, ningún problema....

Adicionalmente, yo puedo hacer filtros a dicho listado enviándole parámetros al PHP con el método GET y el listado se filtra correctamente. Para lo anterior uso el siguiente código:

Código:
	function fBusca(Campo)
	{
		Valor = prompt('Ingrese el valor que desea buscar:', '');
		$.get("listados.php", {pCampo: Campo, pValor: Valor}, function(respuesta)
		{
			alert(respuesta);
			$("#listadoDIV").html(respuesta);
		})
	}
Todo lo anterior funciona bien, PERO... Supongamos que el filtro te arroje más de 1 resultado (ejemplo 4). Cuando van a ver el código fuente de la página, sólo aparece el HTML del primer registro, no del resto. No le puedo encontrar explicación. Como se pueden dar cuenta, he colocado un SELECT en cada fila generada por la sentencia, cuyo nombre es el valor del Campo 1 (campo llave en la tabla), pero sólo funciona el del primero registro, los OPTION de los otros SELECT, cuando los leo con JS, aparecen el blanco. Para anotar, si escojo otro SELECT que no sea el primero, este tendrá el nombre del primero.

Código:
    function fIr()
    {
	fSeleccionar($("#Opciones").attr("name"));
	setTimeout(function(){ location.href = "../" + $("#Opciones").val() + "/index.php"; }, 100);
    }
La idea es que cada SELECT, al tener como nombre el Campo llave de la Tabla, se puede seleccionar una opción cuyo VALUE es un subdirectorio con cierta información, pero como los valores están en blanco (excepto en el SELECT del primer registro)... No puedo hacer nada.

Agradezco de antemano cualquier colaboración.

Bendiciones.
Responder Con Cita