jQuery Mobile: функция обратного вызова поиска в фильтре списка - PullRequest
5 голосов
/ 15 марта 2012

Привет, я хочу, чтобы у меня был фильтр поиска, чтобы вы вводили две буквы поиска, и соответствующие результаты появлялись в виде списка.Я не могу загрузить весь список, как это обычно бывает в jqm listview, потому что он слишком большой.Может кто-то, пожалуйста, покажите мне, как это сделать ... это немного выходит за рамки моего понимания API.

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

Ответы [ 2 ]

1 голос
/ 12 апреля 2012

Проверьте это здесь: https://github.com/commadelimited/autoComplete.js
Похоже, что вы ищете.
Алекс

0 голосов
/ 16 марта 2012

Я предполагаю, что ваш звонок возвращается в формате JSON:

$("#txtInput").change(function() {
   var val = $(this).val();
   if (val.length >= 2)
   {
       // Do Ajax call
        $.ajax({
        type: "POST",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: '/SomeURL/',
        data: "{'searchText': '" + val + '}',
        success: function (data) {
           $("#divListArea").empty();
           var i;
           for (i = 0; i < data.length; i++)
           {
              $("#divListArea").append("<div key=" + data[i].Id + ">" + data[i].SomeProperty + "</div>");
           }
           $("#divListArea div").each(function() {
              $(this).click(function() [
                 // Do something
                 var id = $(this).attr('key');
              });
           });
         },
         complete: function () {

         }
    });
   }
});
...