使jQuery自动完成工作多个单词("跳过"一个单词)

时间:2016-04-15 21:54:21

标签: javascript jquery autocomplete

我使用jQuery's "AutoComplete",除了一件事,一切都很棒。如果用户跳过一个单词,它似乎无法找到建议。

This jsfiddle是我正在谈论的工作版本。如果您搜索赢得某人,它将正确显示"赢得某人心脏的建议"。但是,我不明白如何在" jquery.autocomplete.js"中实现这一点。

我已尝试查看

中的设置
lookupFilter: function (suggestion, originalQuery, queryLowerCase) {
    return suggestion.value.toLowerCase().indexOf(queryLowerCase) !== -1;
},

但它不起作用。

This person似乎有同样的问题,目前尚无人接听。

1 个答案:

答案 0 :(得分:0)

检查这个小提琴:http://jsfiddle.net/z0oxa63r/2/

 $.ui.autocomplete.filter = function (array, term) {
        var regTab = term.split(" ");
        var regex = regTab.join('[\\w ]*');
        var matcher = new RegExp("^" + regex, "i");
        return $.grep(array, function (value) {
            return matcher.test(value.label || value.value || value);
        });
    };