Ver Mensaje Individual
  #13 (permalink)  
Antiguo 22/10/2012, 18:53
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Generar option select a partir de otro select de cantidad

Suponiendo que el código de la página que has publicado es el "correcto" (el que estas trabajando y el que te da problemas) es sencillo el porque solo carga un select, veamos tu código....

Código Javascript:
Ver original
  1. <script language="JavaScript" type="text/JavaScript">
  2.             $(document).ready(function(){
  3.                 $("#select1").change(function(event){
  4.                     var id = $("#select1").find(':selected').val();
  5.                     $("#select2").load('genera-select.php?id='+id);
  6.                 });
  7.             });
  8. </script>
  9.  
  10. <script language="JavaScript" type="text/JavaScript">
  11.             $(document).ready(function(){
  12.                 $("#select1").change(function(event){
  13.                     var id_hab = $("#select1").find(':selected').val();
  14.                     $("#select3").load('genera-select.php?id_hab='+id_hab);
  15.                 });
  16.             });
  17. </script>

El primer código si funciona (el del #select2), porque EXISTE un select con el ID "select2" para rellenar, en cambio, en todo el código de la página no hay ningún select ni ningún otro elemento con dicho ID (select3), por lo tanto jQuery no tiene nada para trabajar los datos enviados desde PHP, ahora, mas adelante tienes una función que genera el select dinamicamente, pero este es unicamente invocado cuando cambia el option seleccionado del select "habitaciones" como puedes ver, es un relajo, en todo caso, primero debes verificar si existe un elemento con el ID "select3" antes de enviar la petición a PHP, o de otro modo, invocar la función "createTexts" antes de enviar dicha petición...

Por ultimo, sin ofender pero, tienes un relajo de Javascripts, tienes $(document).ready al por mayor, lo cual no es nada recomendable, alenta el navegador, todo lo que deba definirse al cargar la página es mejor definirla en un solo evento onload que en varios, y por ultimo, evita estar cargando archivos JS dentro de body, para eso existe el elemento head donde se cargan las dependencias (CSS,JS,etc)
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Última edición por Nemutagk; 22/10/2012 a las 18:58