jQuery自动完成(devbridge)lookupFilter可搜索多个属性

Rav*_*ngh 5 javascript search jquery autocomplete

我有下面的代码-

$(function() {

var fruits = [
   { value: 'Apple',id: '123',  data: 'Apple' },
   { value: 'Pear', id: '543',   data: 'Pear' },
   { value: 'Carrot', id: '123', data: 'Carrot' },
   { value: 'Cherry', id: '234', data: 'Cherry' },
   { value: 'Banana', id: '543', data: 'Banana' },
   { value: 'Radish', id: '3423', data: 'Radish' }
];

  $("#autocomplete").autocomplete({
        lookup: fruits,
        onSelect: function (suggestion) {
          alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
        },
  });
});
Run Code Online (Sandbox Code Playgroud)

我想同时基于“值”和“ id”进行搜索。有lookupFilter函数,但我不知道如何使用它。这里是原始脚本- https://www.devbridge.com/sourcery/components/jquery-autocomplete/ 这里是东西similer问题- jQuery的自动完成(devbridge)从开始搜索
请帮助!

vij*_*ayP 0

你可以尝试使用下面的代码吗:

$(function() {

var fruits = [
   { value: 'Apple',id: '123',  data: 'Apple' },
   { value: 'Pear', id: '543',   data: 'Pear' },
   { value: 'Carrot', id: '123', data: 'Carrot' },
   { value: 'Cherry', id: '234', data: 'Cherry' },
   { value: 'Banana', id: '543', data: 'Banana' },
   { value: 'Radish', id: '3423', data: 'Radish' }
];

  $("#autocomplete").autocomplete({
        lookup: fruits,
        onSelect: function (suggestion) {
          alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
        },
        lookupFilter: function (suggestion, query, queryLowerCase) {
            return suggestion.value.toLowerCase().indexOf(queryLowerCase) < -1 || suggestion.id.toLowerCase().indexOf(queryLowerCase) < -1; //checking with both id as well as value
        }
  });
});
Run Code Online (Sandbox Code Playgroud)

注意:我无法测试此代码,但我相信它应该适合您。