Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/10/2014, 07:27
mblascog
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 10 meses
Puntos: 4
El evento change solo lo detecta la primera vez

Buenas,
En primer lugar pedir disculpas si lo que pregunto es muy evidente, pues es la primera vez que me encuentro con código jquery, llevo muchas horas intentar detectar que pasa, y no hay manera.
Resulta que tengo un desplegable en un formulario, al seleccionar por primera vez un valor, se ejecuta el evento change en jquery, y si alimentan otros desplegables. Si cambio el valor de dicho desplegable, se vuelven a alimentar los otros desplegables. Hasta aquí bien.
El problema está cuando selecciono el botón submit del formulario, se vuelve a cargar la misma página, pero luego no detecta el cambio en el desplegable.
Algo se me escapa pero no veo qué es:

El código del desplegable es:
Código HTML:
Ver original
  1. <select name="fTipus" id="fTipus">
  2.     <option value=""><span>Selecciona</span></option>
  3.     <option value="3">Piso</option>
  4.     <option value="4" >Casa</option>

Código Javascript:
Ver original
  1. $("#fTipus").change(function(){ //alert('tipus1: ' + $(this).val());
  2.             var jIdOpe = '-'+$("#fOperacio").val();
  3.             $('#fCiutat option').remove();
  4.             $('#fPreu option').remove(); // Borramos/Limpiamos todo los items de fPrecio
  5.             $('#fHabitacions option').remove(); // Borramos/Limpiamos todo los items de fHabitaciones
  6.             $('#fMetres option').remove(); // Borramos/Limpiamos todo los items de fMetros
  7.            
  8.             var selOper = '-'+$("#fOperacio").val();
  9.             var selTip = '-Seleccionar';
  10.  
  11.             $.post("<?php echo URL.'includes/inc_poblacions.php'?>",{ prmPoblacions:$(this).val()+selOper+selTip+lang },function(data){$("#fCiutat").html(data);})  
  12.             $.post("<?php echo URL.'includes/inc_caracteristiques.php'?>",{ prmCaracteristiques:$(this).val()+lang },function(data){$("#fCaracteristiques").html(data);})
  13.             $.post("<?php echo URL.'includes/inc_preu.php'?>",{ prmPreu:$(this).val()+lang+jIdOpe },function(data){$("#fPreu").html(data);})
  14.             $.post("<?php echo URL.'includes/inc_habitacions.php'?>",{ prmHabitacions:$(this).val()+lang },function(data){$("#fHabitacions").html(data);})
  15.             $.post("<?php echo URL.'includes/inc_metres.php'?>",{ prmMetres:$(this).val()+lang },function(data){$("#fMetres").html(data);})
  16.             var txt = $('#fOperacio option:selected').text(); <?php // obtener texto de form operacion ?>
  17.             $('input[name=ftxtOperacio]').val(txt); <?php // asignar texto de form operacion a ftxtOperacion ?>
  18.         });
  19.  
  20.         $("#fTipus").change(function(){ //alert('tipus2: ' + $(this).val());
  21.                 $.post("<?php echo URL.'includes/inc_caracteristiques.php'?>",{ prmCaracteristiques:$(this).val()+lang },function(data){$("#fCaracteristiques").html(data);})
  22.         });

No sé si me he explicado.
Gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no