Foros del Web » Programando para Internet » Jquery »

Realiza a la primera pero no después - JQuery

Estas en el tema de Realiza a la primera pero no después - JQuery en el foro de Jquery en Foros del Web. Muy buenas amigos, tengo un problema con unos combos dependientes. Este trozo de código: Código HTML: $("select#provincia").change(function () { var str2 = ""; alert($(this).val()); $("select#provincia ...
  #1 (permalink)  
Antiguo 15/01/2009, 09:36
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Realiza a la primera pero no después - JQuery

Muy buenas amigos, tengo un problema con unos combos dependientes.

Este trozo de código:
Código HTML:
$("select#provincia").change(function () {
		var str2 = "";
		alert($(this).val());
		$("select#provincia option:selected").each(function () {
		if($(this).val()=="") 
			str2 +="Todas<br />&nbsp;";
		else
			str2 += $(this).text() + "<br />&nbsp;";
		});
		$(".datos3").html("<strong>Provincia</strong><br />&nbsp;&nbsp;"+str2);
	}).change();
Me realiza a la primera cargada de la página, pero como verán es un select que cambia dependiendo de lo que seleccione en país o en automomía, cuando se selecciona un país por ejemplo y se selecciona una provincia, debe realizar este trozo de código pero no lo hace. Pense que tal vez estaba cuando generaba el select nuevamente le colocaba otro nombre, pero no es así, incluso en otro trozo que realiza cuando selecciono el país, coloque que imprimiera el texto del primer option de provincias y lo hace, eso quiere decir que esta con el mismo id. Más raro aún es que tengo una función que envia datos cada vez que se cambie un combo del formulario, y para todos los combos la realiza excepto para este.
La función que les comento es la siguiente:
Código HTML:
$("select").change(function(){
	
		
		$("#destino").html("<div align='center'><img src='images/loading.gif' /></div>");
	
		var pai=$("select#pais").val();
		var com=$("select#comunidades").val();
		var prv=$("select#provincia").val();
		var op1=$("select#opcion1").val();
		var op2=$("select#opcion2").val();
		var op3=$("select#opcion3").val();
		var mlg=$("input#mailingNum").val();
		alert("prv"+prv)
		$("input#Submit").attr("disabled", "disabled");
		$("select#pais").attr("disabled", "disabled");
		$("select#comunidades").attr("disabled", "disabled");
		$("select#provincia").attr("disabled", "disabled");
		$("select#opcion1").attr("disabled", "disabled");
		$("select#opcion2").attr("disabled", "disabled");
		$("select#opcion3").attr("disabled", "disabled");
		
				
		$("#destino").load("simulaEmail.php?pais="+pai+"&comunidades="+com+"&provincia="+prv+"&opcion1="+op1+"&opcion2="+op2+"&opcion3="+op3+"&mailing="+mlg,{},function () {
			   		$("select#pais").removeAttr("disabled");
					$("select#pais option:selected").each(function() {
						if($(this).val()=="70")
						{
							$("select#comunidades").removeAttr("disabled");;
						}
					});
					$("select#provincia").removeAttr("disabled");
					$("select#opcion1").removeAttr("disabled");
					$("select#opcion2").removeAttr("disabled");
					$("select#opcion3").removeAttr("disabled");
					$("input#Submit").removeAttr("disabled");
					
					deshabilitado=false;			
					
				});
				
		}).change();
Como verán coloque un alert en la función, lo que debe aparacer cada vez que cambio algún combo pero como he dicho funciona para cualquiera menos para este de provincias. Pero al cambiar otros si me despliega el valor correcto que seleccione en provincias.

Que podría estar sucediendo, ya me estoy volviendo loco, llevo 2 días con este problema.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #2 (permalink)  
Antiguo 15/01/2009, 11:36
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Respuesta: Realiza a la primera pero no después - JQuery

Revisá la nueva versión de jQuery, viene con un métdoo live el cual todo evento asignado será asignado a elementos que están y a los que vendrán (eso leí, no lo probé...pero es buen momento para que lo hagas :P).

Sino la lógica es que pongas en cada combo el onchange.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 15/01/2009, 11:42
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: Realiza a la primera pero no después - JQuery

Pero son en total 6 combos, y solo este no funciona, no se en realidad que podría estar pasando. Pensé en colocar el onchange a este para enviar a un div texto, pero para ejecutar la función que coloque arriba como puedo hacerlo?

Saludos y gracias por contestar.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:46.