使用.textcomplete对整个句子进行Textcomplete

时间:2017-06-28 12:54:15

标签: javascript jquery

我正在尝试将textcomplete用于整个句子。我尝试了很多不同的正则表达式,但是“.textcomplete”仍然只是搜索句子中的第一个单词。

有人擅长这个吗?

$('#search').textcomplete([{
    words: array,
    match: /\b(\w{1,})$/,
    search: function (term, callback) {
        term = term.toLowerCase();
        callback($.map(array, function (word) {
            return word.toLowerCase().indexOf(term) === 0 ? word : null;
        }));
    },
    select: function (value, strategy) {
        this.adapter.select(value, strategy);
        this.fire('change').fire('textComplete:select', value, strategy);
        this.adapter.focus();
    },
    index: 1,
    replace: function (word) {
        return word;
    },

}], {
    onKeydown: function (e, commands) {
        if (e.ctrlKey && e.keyCode === 74) { // CTRL-Enter
            return commands.KEY_ENTER;
        }
    }

});

Working with the first word

Autocomplete stops when pressing space

1 个答案:

答案 0 :(得分:0)

这是因为你的正则表达式与空格不匹配!

match: /\b(\w{1,})$/

w是匹配任何单词但不是空格的简写。 使用正则表达式来匹配任何单词和空格:

match: /\b([a-zA-Z0-9_ ]{1,})$/

试一试: http://jsfiddle.net/p5qqvkp6/12/