我已经看到很多关于jquery自动完成的问题,包括多个关键字或代币,如
“el wo”匹配“hello world”(由于SO的降价分析而不添加空格,我无法加粗子串匹配)我想实现类似的东西,但不在搜索字符串中使用空格。这在JetBrains IntelliJ及其他类似产品中成功使用。例如,
aco
不仅匹配aconite
,还匹配admin_controller
这是否可以使用jquery和/或bootstrap自动完成或typeahead插件? IntelliJ如何做到这一点?
答案 0 :(得分:0)
它不会检查匹配的顺序,但你可以试试这个:
var possible = [
'admin_controller',
'accommodation',
'printer',
'advertised',
'aoc', // this will match even if it's in wrong order
];
$('input').keypress(function(){
setTimeout( function() {
var result = [], input = $('#input').val();
possible.filter(function(element, index, array) {
var count = 0;
for( i in input ) {
if( element.indexOf( input[i] ) != -1 )
count++;
}
if( count == input.length )
result.push( element );
});
$('#result').html(result.join('<br/>'));
}, 200);
});
使用这样的HTML:
<input id="input" />
<div id="result"></div>