Hola, estoy trabajando con un proyecto en la que se me presenta este caso que no he podido resolver, les planteo la situación:
Tengo dos listas de selección las cuales llenan su contenido según los datos que se encuentran en una base de datos, pero al escojer una opción en la primera lista, la segunda debe mostrar los datos de la base de datos que correspondan sólo a la opción seleccionada.
Manejo el cambio de la primera lista con javascript mandando llamar a una función con el parámetro Onchange, y de esa manera tengo el value de esa lista, pero necesito pasarle ese valor a PHP para llevar a cabo la búsqueda y es ahí cuando entra mi problema, no sé como enviarle el valor a php sin tener que refrescar toda la página.
Este es el codigo, al hacer clic en el combo este me ejecuta la funcion Llenar periodo, la cual hace una busqueda en php con la funcion "getPackagePrices", la cual debe recibir el valor del primer combo y mostrar el resutlado de la busqueda.
<script language="javascript" type="text/javascript">
<? function getPackagePrices( $paquete ){
global $CSYMBOL;
$optionMenu = '';
$res = mysql_query( "SELECT * FROM hosting WHERE package='$paquete' ORDER BY months", $_SESSION['so']->getConnection() );
$filas = mysql_num_rows($res);
for($k=0;$k<$filas;$k++){
$row = mysql_fetch_assoc( $res ); ?>
agregarDatoCombo(paq,"<? echo $k ?> ","<? echo $k ?> ",'Combito',false);
alert("entro a la funcion"
<?}
return $optionMenu;
}//fin de la funcion getpackage
getPackagePrices('?> vpaq <?');
//?>
function LlenarPeriodo(idpaq,vpaq)
{
//alert('name '+idpaq+' valor '+vpaq);
//Limpiamos el contenido del combo antes de cargarle nuevos datos
//Recorremos el vectorAutos
var posicion=0;
//buscamos el combo a cambiar
var paq="";
paq="periodo"+idpaq.substring (7,8);
//alert("enviando a"+paq);
vaciarCombo(paq);
<? for($k=0;$k<10;$k++){ ?>
agregarDatoCombo(paq,"<? echo $k ?>","<? echo $k ?>",'Combito',false);
<? } ?>
}
function vaciarCombo(comboDestino)
{
document.getElementById(comboDestino).length = null;
}
function agregarDatoCombo(comboDestino,orden,descripcion,va lor,estado)
{
document.getElementById(comboDestino).options[orden] = new Option(descripcion,valor,"",estado);
}
</script>