2011-02-04 68 views
5

Tôi muốn sử dụng tiện ích tự động hoàn thành để cho phép ai đó chọn nhân viên bằng cách nhập tên nhân viên vào hộp văn bản, nhưng tôi muốn biểu mẫu đăng ID của nhân viên, không phải tên nhân viên. Tôi đã cung cấp dữ liệu tức là tên của nhân viên làm nguồn. nhãn và giá trị trong .js giống như nguồn i được cung cấp cách tôi có thể lấy tên và id của nhân viên riêng biệt.cách đặt id trong sự kiện nguồn jquery ui autocomplete

$("#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); 
        } 

       }); 

Trả lời

8

Bạn cần chuyển đối tượng json vào đúng nguồn gốc.

Sau đó, ui.item của bạn là đối tượng, với Id, giá trị, mọi thứ bạn muốn.

$(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; 
     }     
    });    
}); 

Hãy xem jQuery getJSON: http://api.jquery.com/jQuery.getJSON/ để lấy json qua ajax.

+0

Cảm ơn hoạt động tốt .... – deepu

Các vấn đề liên quan