Как установить идентификатор в JQuery UI автозаполнения исходного события - PullRequest
5 голосов
/ 04 февраля 2011

Я хотел использовать виджет автозаполнения, чтобы кто-то мог выбрать сотрудника, введя имя сотрудника в текстовое поле, но я хочу, чтобы в форме был указан идентификатор сотрудника, а не имя сотрудника.данные, т.е. имена сотрудников в качестве источника.метка и значение в .js такие же, как и в источнике, который я указал, как я могу получить имя и идентификатор сотрудника отдельно.

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

                });   

1 Ответ

8 голосов
/ 04 февраля 2011

Вам нужно передать объект json в свойство источника.

Тогда ваш ui.item - это объект, с Id, значением, всем, что вы хотите.

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

Посмотрите наgetJSON jQuery: http://api.jquery.com/jQuery.getJSON/ для получения json через ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...