2014-01-03 4 views
0

Извините, об этом ответе, я нашел много результатов, но что-то работает над моим кодом.Получить выбранный элемент на автозаполнении

Я хочу получить выбранный элемент и вызвать другую функцию для работы с этим. Сценарий:

<script type="text/javascript"> 
     $(document).ready(function() { 
      $("input#autoText").autocomplete({ 
       source: function(request, response) { 
        $.ajax({ 
         url: "UserControllerServlet?action=Autocompletar", 
         dataType: "json", 
         data: request, 
         success: function(data, textStatus, jqXHR) { 
          console.log(data); 
          var items = data; 
          response(items); 
          alert($("#autoText").val(ui.item.id)); 

         }, 
         error: function(jqXHR, textStatus, errorThrown) { 
          console.log(textStatus); 
         } 

        }); 
       } 

      }); 
     }); 


    </script> 

Предупреждение не работает, и я стараюсь использовать select и ничего.

Thx.

+0

«не работает» не описателен. Вы имеете в виду, что предупреждение не запускается, или оно отображается пустым? Вы проверили консоль браузера на наличие ошибок? – Popnoodles

+0

http://api.jqueryui.com/autocomplete/#event-select - источник используется для установки «ключевых слов» для автозаполнения или логики. – Frogmouth

ответ

0

Используйте select event

$(document).ready(function() { 
    $("input#autoText").autocomplete({ 
     source: function (request, response) { 
      $.ajax({ 
       url: "UserControllerServlet?action=Autocompletar", 
       dataType: "json", 
       data: request, 
       success: function (data, textStatus, jqXHR) { 
        console.log(data); 
        var items = data; 
        response(items); 
        alert($("#autoText").val(ui.item.id)); 

       }, 
       error: function (jqXHR, textStatus, errorThrown) { 
        console.log(textStatus); 
       } 

      }); 
     }, 
     select: function (e, ui) { 
      console.log('s', ui.item); 
      //here ui.item will refer to the selected object 
     } 
    }); 
}); 

Демо: Fiddle

+0

Это нормально, если я пытаюсь показать элемент, который выводит предупреждение «Объект объекта»? Не печатать строку, я хочу строку. – user3157778

+0

@ user3157778 использовать 'ui.item.id' или' ui.item.text' может быть –

0

Вместо

alert($("#autoText").val(ui.item.id)); 

использование

$("#autoText").data("autocomplete").selectedItem 

Это позволит вам получить доступ к S избранный объект как объект.

Смежные вопросы