2015-09-03 2 views
0

Да, в форуме много вопросов, но почему-то никто не работает для меня. Я не делаю особого.JQuery Autocomplete не фильтрует результаты

Мои автозаполнение заселение результаты, но результаты не получают фильтруется

Мой код:

$("#empName").autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: "api/clientEmp/of/" + sessionClientId + "/notingroup/" + groupId, 
      type: "GET", 
      dataType: "json", 
      data: { 
       term: $("#empName").val() 
      }, 
      success: function(data) { 
       response($.map(data, function(item) { 
        return { 
         label: item.EmpName, 
         value: item.EmpId 
        }; 
       })); 
      } 
     }); 
    }, 
    minLength: 0, 
    focus: function(event, ui) { 
     $("#empName").val(ui.item.label); 
    } 
});  

И выход JSON это что-то вроде этого

[ 
    { 
     "EmpId": 26, 
     "EmpNum": "Rel-72015-31", 
     "EmpName": "R.durai" 
    }, 
    { 
     "EmpId": 21, 
     "EmpNum": "REL-42015-22", 
     "EmpName": "Zishan" 
    }, 
    { 
     "EmpId": 56, 
     "EmpNum": "Rel-22015-19", 
     "EmpName": "Raj Singh" 
    } 
] 

аккуратно шоу варианты, но когда я печатаю что-либо, все результаты отображаются и не фильтруются.

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

благодарит заранее.

+0

У вас есть ошибки на консоли? – Akki619

+0

нет, я не вижу ошибок в консоли. –

+0

Вы фактически фильтруете что-либо на сервере? – dfsq

ответ

3
$("#empName").autocomplete({ 
source: function(request, response) { 
    $.ajax({ 
     url: "api/clientEmp/of/" + sessionClientId + "/notingroup/" + groupId, 
     type: "GET", 
     dataType: "json", 
     data: { 
      term: $("#empName").val() 
     }, 
     success: function(data) { 
      var array = $.map(data, function(item) { 
       return { 
        label: item.EmpName, 
        value: item.EmpId 
       }; 
      }); 

      //call the filter here 
       response($.ui.autocomplete.filter(array, request.term)); 
     } 
    }); 
}, 
     minLength: 0, 
     focus: function(event, ui) { 
     $("#empName").val(ui.item.label); 
     } 
    }); 
+0

Как/почему это работает? Ранее я отправил ответ (arrayHere); - все резултаты были там, но он не фильтровал и, изменив код на ваш ответ, он работает - не могли бы вы объяснить? – lehel

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