2011-02-25 23 views
5

tengo este código jQuery:jQuery autocompletado - obtener el id del campo de entrada de autocompletar

$(".autocomplete").autocomplete('url',{ 
    extraParams: {country: function(){ 
    var id = $(this).attr("id"); // not working 
    var country = id.replace("uni", "country"); 
    var country_id = $("#"+country).val(); 
    return country_id; 
    }}    
}).result(function(event, item) { 
// getNames(item); 
}); 

como yo quiero tener varias formas, ajax cargado con campos de autocompletar, que necesito para cada uno de ellos para enviar apropiada parámetros adicionales desde el formulario correspondiente al servidor.

Estaba tratando de lograr esto obteniendo el id del campo de entrada y usándolo para obtener la identificación del campo del país que contendrá el parámetro necesario. La identificación estaría en el formato apropiado para permitir esto. Algo como:

uni_1, country_1; uni_2; country_2

siendo uni el campo autocompletar, y el país es el parámetro adicional.

Me he dado cuenta de que $ (this) .attr ("id") no funcionará dentro de la función autocompletar, como lo haría con los eventos simples de jQuery, y no he encontrado la manera de hacerlo. Intenté usar el método toSource para ver el objeto de autocompletar, pero parece que no contiene el ID del campo.

Así que si alguien tiene una idea de cómo se puede hacer esto, por favor, comparta.

Muchas gracias de antemano. Ivan

+0

Qué plug-in está usando (que no se ve como la interfaz de usuario jQuery uno) autocompletar? – Mottie

Respuesta

6

Usted puede intentar

$(".autocomplete").each(function() { 
    var id = $(this).attr("id"); 
    $(this).autocomplete('url',{ 
     extraParams: {country: function(){ 
     var country = id.replace("uni", "country"); 
     var country_id = $("#"+country).val(); 
     return country_id; 
     }}    
    }).result(function(event, item) { 
    // getNames(item); 
    }); 
}); 
Cuestiones relacionadas