jquery mobile search filterable listview

时间:2014-02-26 11:56:31

标签: listview jquery-mobile

我正在使用jQuery mobiles listview向我的用户展示可搜索的列表。假设我有以下三个列表项:

1这是第一个可搜索的选项。

2这是第二个可搜索的选项。它不是第一个。

3此选项是第三个可搜索的选项。

现在,当我输入“ ”选项时,将显示一个和两个。非常好。如果我继续,并输入“第一个”,则只剩下第一个选项。我需要它来显示选项二,是否有任何方法可以修改默认搜索以按我的意愿工作?

简单来说,我希望搜索能够进行单词匹配,而不是精确的短语匹配。

这是默认搜索的样子:

    customSearch = function(text, searchString) {
        return text.toLowerCase().indexOf(searchString) === -1;
    };

我在这里有一个jsfiddle:http://jsfiddle.net/bjornstannek/xLFQ4/

欢迎任何提示!

1 个答案:

答案 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);
});