Esta es la porcion de html para los combos:
Código HTML:
Ver original
<div class="select3"> <select id="origenDepartamento" class="select3"> <?php foreach($departamento as $dp){ echo "<option class='origenDepartamento' value='" .$dp->idDepartamento."'>" .$dp->Nombre."</option>"; } ?> </select> </div> <div id="divProvincia" class="select3"> <select id="origenProvincia" class="select3"> </select> </div> <div id="divDistrito" class="select3"> <select id="origenDistrito" class="select3"> </select> </div>
A continuacion el código en javascript con jquery, lo que hace es lanzar la funcion procesar(); si hay un cambio en el select departamento o provincia. Luego envia por post al servidor unos datos a procesar, una vez hecho esto lo devuelve, el valor devuelto tiene formato JSON:
Código Javascript:
Ver original
$(document).ready(function(){ $('#origenDepartamento').change(function() { procesar($(this).val(),"Provincia","idDepartamento"); }); }); $(document).ready(function(){ $('#origenProvincia').change(function() { alert("a"); procesar($(this).val(),"Distrito","idProvincia"); }); }); function procesar(idSelect,operar,nameId){ $.ajax( { type: 'POST', url:'http://localhost/asd/procesarCampos/', data: 'id='+idSelect+'&operar='+operar+'&nameId='+nameId, success: function(resp){ var oResp = eval("("+resp+")"); var nselect = "<div id='div"+operar+"' class='select3'>"+ "<label for='hostname'>"+operar+"</label>"+ "<select id='"+operar+"' class='select3'><option value='n'></option>"; id = "oResp[i].id"+operar; for(i=0; i < oResp.length;i++){ nselect +="<option value='"+id+"'>"+oResp[i].nombre+"</option>"; } nselect +="</select></div>"; $('div[id="div'+operar+'"]').html(nselect); } } ); }
Bien el código me funciona correctamente cuando selecciono un departamento, por ejemplo Lima. carga las provincias que esta tiene, pero el problema recide que al seleccionar una provincia no me muestra sus distritos.
Yo pienso porque el codigo html en un inicio para provincia y distrito los select estan vacíos y a pesar de que se carguen las provincias tras la selección de un departamento el DOM no se modifica puesto que no me reconoce un cambio en el select provincias.
Tengo un atasco en esto y no se me ocuerre ahora nada para resolverlo ¿que puedo hacer?