如何在键入时过滤jquery自动完成数据

HGP*_*GPB 4 jquery autocomplete jquery-autocomplete

到目前为止,我有以下内容

var aCleanData = ['aaa','aab','faa','fff','ffb','fgh','mmm','maa'];

$('#my-input').autocomplete({
    source:aCleanData,
    minLength:2
});
Run Code Online (Sandbox Code Playgroud)

目前,如果您输入aa,aaa,aab,faa,maa将显示.

我想要做的是当用户键入显示ff的数据时将是fff,ffb数据.

基本上,只有键入的内容应该从第一个字符开始匹配.

这应该是递归的.当用户输入时fg,fff,ffb应该消失并且只fgh应出现.

在此先感谢您的帮助.

更新:

ps看看我的意思:

http://jqueryui.com/demos/autocomplete/#default

输入sc并且您将看到的不仅仅是以sc开头的数据.

sce*_*sor 11

仅获得以输入值开头的结果的一种可能解决方案是在自己搜索之前检查数组元素:

var aCleanData = ['aaa','aab','faa','fff','ffb','fgh','mmm','maa'];
$('#my-input').autocomplete({
    source: aCleanData,
    minLength: 2,
    search: function(oEvent, oUi) {
        // get current input value
        var sValue = $(oEvent.target).val();
        // init new search array
        var aSearch = [];
        // for each element in the main array ...
        $(aCleanData).each(function(iIndex, sElement) {
            // ... if element starts with input value ...
            if (sElement.substr(0, sValue.length) == sValue) {
                // ... add element
                aSearch.push(sElement);
            }
        });
        // change search array
        $(this).autocomplete('option', 'source', aSearch);
    }
});
Run Code Online (Sandbox Code Playgroud)

另见我的jsfiddle.