0

查看 jQuery UI 自动完成: http: //jqueryui.com/demos/autocomplete/并对其进行更改以满足我的要求,我遇到了一些问题。

如果您查看链接中提供的默认列表,其中一个选项是“ActionScript”,如果您键入“Sc”,它会建议“ActionScript”,这在我的情况下不适合。

我只希望它建议“ActionScript”,例如,如果用户键入:

  • 一种
  • 交流电
  • 行为
  • 行动
  • 行动
  • 行动
  • 行动
  • 行动科学
  • 动作脚本
  • 动作脚本
  • 动作脚本
  • 动作脚本

“ActionScript”只是一个例子,但它明白了重点。

查看 jQuery UI 自动完成代码中的建议功能:

_suggest: function( items ) {
        var ul = this.menu.element
            .empty()
            .zIndex( this.element.zIndex() + 1 );
        this._renderMenu( ul, items );
        // TODO refresh should check if the active item is still in the dom, removing the need for a manual deactivate
        this.menu.deactivate();
        this.menu.refresh();

        // size and position menu
        ul.show();
        this._resizeMenu();
        ul.position( $.extend({
            of: this.element
        }, this.options.position ));

        if ( this.options.autoFocus ) {
            this.menu.next( new $.Event("mouseover") );
        }
    },

我似乎找不到缩小选择范围的部分。有人可以指出我正确的方向吗?我正在使用最新的稳定版本。

4

1 回答 1

1
function hackAutocomplete(){

    $.extend($.ui.autocomplete, {
        filter: function(array, term){
            var matcher = new RegExp("^" + term, "i");

            return $.grep(array, function(value){
                return matcher.test(value.label || value.value || value);
            });
        }
    });
}

hackAutocomplete();

找到解决它的这段代码。

于 2012-09-12T10:12:49.517 回答