0

我在 SO 上看到了很多关于带有多个关键字或标记的 jquery 自动完成的问题,例如

"el wo" 匹配 "hello world" (我不能加粗子字符串匹配,因为 SO 的降价解析没有添加空格)

我想实现类似的东西,但不在搜索字符串中使用空格。这已在 JetBrains IntelliJ 和他们的其他类似产品中成功使用。例如,

aco不仅匹配aconite,而且admin_controller

使用 jquery 和/或引导自动完成或预输入插件可以做到这一点吗?IntelliJ 如何做到这一点?

4

1 回答 1

0

它不检查比赛的顺序,但你可以试试这个:

http://jsfiddle.net/tEJdx/5/

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>
于 2013-06-13T18:18:46.680 回答