Si queremos actulizar las opciones de un select segun algun valor obtenido de otro campo HTML con Jquery la tarea es sumamente sencilla:
Supongamos el siguiente HTML :
Si definimos la siguiente funcion javascript:
function recargarS2(val){
//esperando la carga...
$('#s2').html('');
//realizo la call via jquery ajax
$.ajax({
url: '/procesar.php',
data: 'id='+val,
success: function(resp){
$('#s2').html(resp)
}
});
}
Entonces solo nos faltaría el PHP que atiende la llamada AJAX y que realiza la llamada a mysql y forma el HTML del select…. Este PHP debe llamarse procesar.php y ubicarse en la raiz del sitio.
require('connection.php'); //todo el string de conexion a mysql... me quedo con el handler $db
$sql = "SELECT * FROM tabla WHERE col1 = ".$_GET['id'];
$res = mysql_query($sql,$db);
while($row = mysql_fetch_assoc($res){ ?>
Recordamos que debe cargarse en la etiquerta head /head la siguiente linea para tener el frame jquery en nuestra pagina:
Buen aporte me funciono gracias
Buen aporte me sirvio de mucho aunque nunca pude rellenar el segundo combo la funcion me dio una idea para otra tarea mas complicada que pude resolver
Saludos…
¿Hay una forma de hacerlo para un select multiple?
lo mismo pero que la funcion se dispare onClick, o sea en vez de onChange poner onClick
Y como puedo hacer para que no depende de otro campo? Sino que apenas abra la pagina ya se recarguen automaticamente?
Pues te comento que no me llena el segundo select… solo me queda en .. «Cargando…aguarde»… y el query esta bien.. creo que no me llama al archivo Procesar.php.. o algo..
Verificá si el Procesar.php está bien ubicado y si no tiene algún error PHP.
Te recomiendo firmemente que instales en FIREFOX o Chrome la consola de Firebug (Extension) y al activarla veras en la consola un debager de las llamadas y las respuestas enviadas y recibidas. Es casi necesario para trabajar con AJAX.
Excelente aportación, me sirvio inmesamente y resolvio mi problema, muchas gracias.
Excelente código mi hermano! me salvaste los cestatickets de hoy!!! jejeje
Me siento un cyber-héroe.
vale compa me sirvio mucho gracias
No entendi muy bien, no me carga los datos se me queda en cargando.., tienes que especificar bien lo de la BD, pienso que hay esta el problema que no especificaste como iba la BD
Muy buen aporte Gracias 😀
oye esta super, pero hay un detalle si no hay conexion de internet, no jala verdad?? depende de la api de google!!! que se puede hacer en este caso??
Muchas gracias por el aporte. De todos los lugares donde busque, este fue el unico ejemplo claro que pude hacer funcionar. Hay que arreglar unas cosas (falta completar las etiquetas php y poner echo en lugar de = ademas le falta un parentesis al while) pero salvando estos detalles, de 10. Muchas gracias nuevamente.