Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/01/2010, 18:12
mario_chivas
 
Fecha de Ingreso: diciembre-2009
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
Agregar elementos a un Select con AJAX

Hola compañeros del foro

Cuando trato de llenar combos, al cargar la página usando la funcion de JQuery
$(document).ready(function() ... y window.onload = function() { ...
unicamente lleno el ultimo combo de 6 que tengo, los combos se encuentran en la
estructura del archivo en orden descendente esto quiere decir que del 1 - 5 quedan sin elementos y el 6 se llena con la ultima llama a AJAX. Salvo esta cosa que esta funcionando incorrectamente todo lo demas funciona chido, se los paso cuando termine con este proyecto van a poder llenar combos dinamicamente y con llamadas asincronas con un par de archivos.

Este es el codigo:

Código PHP:
$(document).ready(function(){
    
    
//funcion para llenar combos
    
function agregarItemsCombo( json, combo ){
        if( !
json.length <= 0 ){
            
combo.disabled = false;            
            for( var 
j = 0; j < json.length; j++ ){
                
combo.options[j] = new Option(json[j].descr, json[j].clave);
            }
//fin del ciclo for
        
}//fin del condicional if
    
}
    
    
//cuando se inicie la carga de pagina llamar AJAX
    
window.onload = function() {
        
        $(
'select').each(function(i) {
        
            
combo = this;
            
modulo = this.id;            

            
caso = modulo.substring( 0, 3 );
            
            if ( !( 
caso == 'dep' || caso == 'uni' ) ){//sino se trata de ninguno de los casos uni o dep
            
$.ajax({
                    
type: 'get', //Forma en que lo va a mandar
                    
dataType: 'json', //Formato en que lo va a devolver
                    
url: '/salud/cargarCombo.do', //url, struts se encarga de resolver la url, entonces mandar un .do
                    
data: { valor2: modulo, valor1: 'null' }, //la información que voy a mandar
                    
success: function( json ){//si todo funciona bien
                      
agregarItemsCombo( json, combo );
                    }
            });
//fin de llamada AJAX
           
}//fin del condicional if            
        
});//fin de each        
    
};//fin de la funcion onload
    
    
    
    

    
    
    
}); 
O si alguien sabe como agregar los elementos con JQuery se lo agradeceria mucho.