2012-06-16 5 views
0

Я развиваю-поиск ввода текста с помощью автозаполнения пост, чтобы получить данные:Как показывают одно значение элемента с автозаполнения из Jquery UI

$('#name_search').autocomplete({ 
    source: "search/name.php", 
    open: function(){ 
    $(this).autocomplete('widget').css('z-index', 1000); 
     return false; 
    }}).data("autocomplete")._renderItem = function(ul, item){ 
    return $("<li></li>") 
    .data("item.autocomplete", item) 
    .append("<a>" + item.nome + "<br>" + item.cognome + "</a>") 
    .appendTo(ul); 
}; 

Он показал мне два элемента внутри строки виджета, но когда я нажимаю на него, он закроет себя и очистит текст внутри текста ввода. Что я могу сделать?

ответ

0

использовать метод выбора автозаполнения для определения значения целевого элемента ввода.

$('#name_search').autocomplete({ 
      source: "search/name.php", 
      open: function(){ 
        $(this).autocomplete('widget').css('z-index', 1000); 
        return false; 
      }, 
      select:function(event, ui){ 
       $(this).val(ui.item.label); 
      } 
     }).data("autocomplete")._renderItem = function(ul, item){ 
    return $("<li></li>") 
    .data("item.autocomplete", item) 
    .append("<a>" + item.nome + "<br>" + item.cognome + "</a>") 
    .appendTo(ul); 
}; 

Источник:

методы JQuery UI автозаполнения http://jqueryui.com/demos/autocomplete/#event-select

+0

ничего не меняется ... когда я нажимаю на виджет текст внутри входной тег не становится щелчком текста, но он будет удален – JackTurky

+0

вы можете сделать console.log (ui) в методе выбора и опубликовать то, что возвращается? – chrisvillanueva

0

Я решаемые добавление возврата ложного в функции выбора:

$('#name_search').autocomplete({ 
      source: "search/name.php", 
      open: function(){ 
       $(this).autocomplete('widget').css('z-index', 1000); 
        return false; 
      }, 
      select:function(event, ui){ 
       $(this).val(ui.item.nome+" - "+ui.item.cognome); 
       return false; 
      } 
      }).data("autocomplete")._renderItem = function(ul, item){ 
       return $("<li></li>") 
       .data("item.autocomplete", item) 
       .append("<a>" + item.nome + "<br>" + item.cognome + "</a>") 
       .appendTo(ul); 
      }; 
Смежные вопросы