2011-02-04 19 views
5

Quería usar el widget de autocompletar para permitir que alguien seleccione un empleado escribiendo un nombre de empleado en el cuadro de texto, pero quiero que el formulario publique el ID del empleado, no el nombre del empleado. Proporcioné los datos, es decir, los nombres de los empleados como fuente. la etiqueta y el valor en .js es igual a la fuente que proporcioné, ¿cómo puedo obtener el nombre y el ID del empleado por separado?cómo establecer el id en jquery ui autocompletar el evento fuente

$("#txtEmployeeName").autocomplete({ 
        var suggestions = [] ; 
        //define callback to format results 
        source: function(req, add){ 
        ajax call...     
        on success: function(data) 
        {     
         suggestions = data.split('|'); 
         add(suggestions); 
        } 
        select: function(e, ui) { 
        //create formatted friend 
        var friend = ui.item.value, 
         span = $("<span>").text(friend) 
         $("#"+ $(this).attr("id")).val(span); 
        } 

       }); 

Respuesta

8

Debe pasar un objeto json a la propiedad de la fuente.

Luego su ui.item es el objeto, con Id, valor, todo lo que desea.

$(function() {     
    var students = [{id: 1322,label: "student 1"},{id: 2,label: "Student 2"}]; 
    $("#search-student").autocomplete({ 
     source: students, 
     minLength: 2, 
     select: function(event, ui) { 
       window.location.href="/?studentId=" + ui.item.id; 
     }     
    });    
}); 

Mira de jQuery getJSON: http://api.jquery.com/jQuery.getJSON/ llegar JSON a través de AJAX.

+0

Gracias que funciona bien .... – deepu

Cuestiones relacionadas