Foros del Web » Programando para Internet » Jquery »

Problema JQuery - dropdowns encadenados

Estas en el tema de Problema JQuery - dropdowns encadenados en el foro de Jquery en Foros del Web. Saludos a todos. Tengo un problema que no he podido solucionar y es el siguiente: En una página tengo cuatro dropdowns, dos de ellos tienen ...
  #1 (permalink)  
Antiguo 24/09/2009, 10:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Problema JQuery - dropdowns encadenados

Saludos a todos. Tengo un problema que no he podido solucionar y es el siguiente: En una página tengo cuatro dropdowns, dos de ellos tienen la lista de tablas de una base de datos, al hacer click en uno de éstos debe mostrarme en el dropdown adyacente a él las columnas que tiene dicha tabla (la seleccionada en el primer dropdown). Para el primer dropdown me funciona perfecto, al seleccionar una tabla me muestra en el dropdown adyacente los campos de ésta, pero para el otro dropdown al seleccionar una tabla no hace nada, nisiquiera hace la llamada a AJAX. A continuación les dejo el código que utilicé:

var x;
x=$(document);
x.ready(function (){
var x;
x=$("#table_1");
var y;
y=$("#table_2");
x.change(function (){
selected = $("#table_1").attr("value");
$.ajax({async:true,
type: "POST",
dataType: "html",
contentType: "application/x-www-form-urlencoded",
url:"index.php",
data:{table_selected:selected,data_process:'true', module:'gis',action:'get_tables',last_module:'gis' },
success:Datos,
timeout:4000,
error:problemas});
return false;});
y.change(function (){
selected_2 = $("#table_2").attr("value");
$.ajax({async:true,
type: "POST",
dataType: "html",
contentType: "application/x-www-form-urlencoded",
//contentType: "application/json;charset=utf8",
url:"index.php",
data:{table_selected:selected_2,data_process:'true ',module:'gis',action:'get_tables',last_module:'gi s'},
//beforeSend:inicioEnvio,
success:Datos_2,
timeout:4000,
error:problemas});
return false;});
});

function problemas(XMLHttpRequest, textStatus, errorThrown)
{
alert(XMLHttpRequest);
alert(textStatus);
alert(errorThrown);
}

function Datos(datos)
{
data=eval(datos);

var options = '';

for (var i = 0; i < data.length; i++) {
options += '<option value="' + data[i].NAME + '">' + data[i].NAME + '</option>';
}
$("#field_table_1").html(options);
}

function Datos_2(datos)
{
data=eval(datos);

var options = '';

for (var i = 0; i < data.length; i++) {
options += '<option value="' + data[i].NAME + '">' + data[i].NAME + '</option>';
}
$("#field_table_2").html(options);
}
</CODE>

table_1 y table_2 son los dropdowns que contienen la lista de tablas, field_table_1 y field_table_2 son los que deben llenarse con la lista de campos de la tabla correspondiente.

Perdón por el desorden en el código pero no sé como colocarlo en un cuadro organizado y que se vea como un editor de texto así como varios lo postean.

Muchas gracias por su ayuda.

Última edición por rdos; 24/09/2009 a las 10:59
  #2 (permalink)  
Antiguo 24/09/2009, 11:05
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema JQuery - dropdowns encadenados

el problema es que el primer combo hace caso al request, el segundo no, debes de encadenar el segundo combo al evento complete: es decir cuando se cargan los datos del primer combo de la base de datos.
  #3 (permalink)  
Antiguo 24/09/2009, 11:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Problema JQuery - dropdowns encadenados

Mensaje movido al foro de Frameworks desde Javascript.

Saludos,
  #4 (permalink)  
Antiguo 24/09/2009, 13:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problema JQuery - dropdowns encadenados

La verdad no entiendo bien lo que me quiere decir, me ayudaria mucho un ejemplo, pero tampoco se me hace lógico porque en ese caso al seleccionar alguna opción en el segundo dropdown sin usar el primero debería funcionar el segundo y el primero no hacer nada, pero ese no es el caso.
  #5 (permalink)  
Antiguo 24/09/2009, 13:56
Avatar de eall  
Fecha de Ingreso: noviembre-2008
Ubicación: Concepcion
Mensajes: 127
Antigüedad: 15 años, 5 meses
Puntos: 8
Respuesta: Problema JQuery - dropdowns encadenados

quiza sea mejor agregar al comobox una llamada a una funcion que lo rellenara con ajax y no manejarlo directo desde jquery, a veces da problemas.

te dejo un ejemplo de como lo he hecho yo.

Como crear combo box o select dinámico con jQuery

exito.
__________________
tutoriales xajax, jQuery, PHP y otros en mi blog
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 04:47.