我正在使用jQuery mobiles listview向我的用户展示可搜索的列表。假设我有以下三个列表项:
1这是第一个可搜索的选项。
2这是第二个可搜索的选项。它不是第一个。
3此选项是第三个可搜索的选项。
现在,当我输入“ ”选项时,将显示一个和两个。非常好。如果我继续,并输入“第一个”,则只剩下第一个选项。我需要它来显示选项二,是否有任何方法可以修改默认搜索以按我的意愿工作?
简单来说,我希望搜索能够进行单词匹配,而不是精确的短语匹配。
这是默认搜索的样子:
customSearch = function(text, searchString) {
return text.toLowerCase().indexOf(searchString) === -1;
};
我在这里有一个jsfiddle:http://jsfiddle.net/bjornstannek/xLFQ4/
欢迎任何提示!
答案 0 :(得分:2)
更新了您的代码DEMO
customSearch = function (text, searchString) {
var arr = searchString.split(" ");
for (var i = 0; i < arr.length; i++) {
if ($.trim(arr[i]) != "") {
if (text.toLowerCase().indexOf($.trim(arr[i])) == -1) {
return text;
}
}
}
};
$(function () {
$('#alist').listview('option', 'filterCallback', customSearch);
});