Estoy rehaciendo una web que usa jquery y yo no lo he usado nunca.
Supongo que será difícil recibir ayuda, pero expondré el problema, por si fuera posible.
La cosa está que en función de un select (id=fFamilia), se acceda a la base de datos a buscar información para rellenar otro select (id=fTipo).
El código jquery, dentro de $(document).ready(function(){ es el siguiente:
Código Javascript:
Ver original
$("#fFamilia").change(function(){ //alert('operaciones' + idio); var jIdOpe = '-'+$("#fOperacion").val(); $('#fCiudad option').remove(); $('#fPrecio option').remove(); // Borramos/Limpiamos todo los items de fPrecio $('#fHabitaciones option').remove(); // Borramos/Limpiamos todo los items de fHabitaciones $('#fMetros option').remove(); // Borramos/Limpiamos todo los items de fMetros var selOper = '-'+$("#fOperacion").val(); var selTip = '-Seleccionar'; $.post("<?php echo getUrl()?>/libs/loadFrmCity.php",{ prmOpe:$(this).val()+selOper+selTip+lang },function(data){$("#fCiudad").html(data);}) $.post("<?php echo getUrl()?>/libs/loadFrmType.php",{ prmFamily:$(this).val()+lang },function(data){$("#fTipo").html(data);}) $.post("<?php echo getUrl()?>/libs/loadFrmPrice.php",{ prmPrice:$(this).val()+lang+jIdOpe },function(data){$("#fPrecio").html(data);}) $.post("<?php echo getUrl()?>/libs/loadFrmRooms.php",{ prmRoom:$(this).val()+lang },function(data){$("#fHabitaciones").html(data);}) $.post("<?php echo getUrl()?>/libs/loadFrmMeters.php",{ prmMeter:$(this).val()+lang },function(data){$("#fMetros").html(data);}) var txt = $('#fOperacion option:selected').text(); <?php // obtener texto de form operacion ?> $('input[name=ftxtOperacion]').val(txt); <?php // asignar texto de form operacion a ftxtOperacion ?> });
Por lo poquito que entiendo, se debería cargar la página loadFrmType.php. Pero no lo hace, ya que pongo chivatos y no salen.
El código de loadFrmType.php es el siguiente:
Código PHP:
Ver original
<?php $param=$_REQUEST["prmFamily"]; $idFamily = $arrPrm[0]; $lng = $arrPrm[1]; require '../class/bd.php'; require 'language.inc.php'; require 'functions.inc.php'; if($idFamily!=2) $idF='`id_familia_tipo`='.$idFamily.' AND'; $queryType = 'SELECT `id_tipo`, `nombre_tipo_'.$lng.'` FROM `t_tipo` WHERE '.$idF.' `id_tipo` <> 1 ORDER BY `nombre_tipo_'.$lng.'` ASC'; echo "queryType: ".$queryType; echo fillType($queryType, $strSeleccionar[$lng], $idFamily, $lng); } else echo '<option class="sel" >'.$strSeleccionar[$lng].'</option>'; ?>
Si pongo un alert cuando se hace un cambio en el select fFamilia, se ejecuta.
prmFamily se le asigna el valor 4-es, lo qual es correcto. Ya que en loadFrmType se separa, tipo=4 y idioma=español. Pero algo pasa, ya que o no se incluye loadFrmType, o hay algun error, o no sé.
He estado mirando si existe algun sistema para debuggear instrucción a instrucción, mientras se ejecuta el código, pero no lo he sabido encontrar.
Muchas gracias