Os comento mi caso, estoy haciendo un pequeño formulario, el cual muestra unos cuantos campos (datos de clientes, nombre, direccion, municipio, provincia, cp, tlf....), bueno, todavia no lo tengo terminado, de momento solo muestro estos datos:
Código HTML:
<form action="http://mipc/usuarios/set_mis_datos" method="post" class="form" name="frm_mis_datos">
<input type="hidden" name="url_get_municipios" value=http://mipc/usuarios/get_mun_ajax/" />
<input type="hidden" name="url_get_cp" value="http://mipc/usuarios/get_cp_ajax/" />
<label for="nombre">Nombre: </label><div class="div_texbox"><input type="text" name="nombre" value="Mi nombre" class="username" id="nombre" maxlength="100" size="40" /></div>
<label for="provincia">Provincia: </label><div class="div_texbox" id="div_provincias"><select name="provincias" id="provincias">
<!-- Aqui van las opciones, las omito por que son las provincias españolas -->
</select></div>
<label for="municipio">Municipio: </label><div class="div_texbox" id="div_municipios"><select name="municipios" id="municipios">
<!-- Aqui van las opciones, las omito por que son los municipios de la provincia seleccionada -->
</select></div>
<label for="cp">Código postal: </label><div class="div_texbox" id="div_cp"><input type="text" name="cp" value="18330" class="username" id="cp" maxlength="5" size="10" /></div>
<div class="button_div"><input type="submit" name="actualizar" value="Actualizar" class="buttons" id="button" /></div>
</form>
Ej archivo js es este:
Código:
$(document).ready(function() {
$("#provincias").change(function()
{
$.ajax(
{
type: "GET",
url: $("input[name=url_get_municipios]").val()+$(this).val(),
success: function(datos){$("#div_municipios").html(datos);}
});
});
$("#municipios").change(function()
{
$.ajax(
{
type: "GET",
url: $("input[name=url_get_cp]").val()+$(this).val(),
success: function(datos){$("#div_cp").html(datos);}
});
});
});
Como podeis ver, es un formulario, con dos 'select' uno de provincias y otro de municipios, el jquery, lo que hace (que en realidad es lo que me da fallos raros) es, al cambiar en la provincia, me hace una llamada al servidor para recuperar los municipios dependientes de esa provincia, y si cambian los municipios, hago una llamada para completar el codigo postal segun ese municipio.
Os cuento lo que me pasa:
Al cargar la pagina, me salen por defecto una provincia y un municipio relacionado, si cambio un municipio, el campo 'cp'del formulario me cambia sin problemas, tantas veces como cambie de municipio, tantas veces me actualiza el 'cp'. Si cambio de provincia, me cambia el municipio (me llena el select con los municipios correspondientes) PERO no me cambia el 'cp', y a partir de aqui, por mucho que cambie de municipio, el campo 'cp' no se actualiza, como si no hiciese la llamada al "$(#municipios).change(...)"
Es decir, que mientras no cambie de provincia, el change del municipio me actualiza el cp, si cambio la provincia, ya me deja de funcionar el municipio->cp
Alguna idea?
Saludos!