cd.rafael |
12-09-2016 21:10:24 |
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, $SQL, null))
{
if($Resultados != false)
{
while($Dato = sqlsrv_fetch_array($Resultados, SQLSRV_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.
|