我正在尝试将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;
}
}
});
答案 0 :(得分:0)
这是因为你的正则表达式与空格不匹配!
match: /\b(\w{1,})$/
w是匹配任何单词但不是空格的简写。 使用正则表达式来匹配任何单词和空格:
match: /\b([a-zA-Z0-9_ ]{1,})$/