0

jQuery UI オートコンプリート: http://jqueryui.com/demos/autocomplete/を見て、要件を満たすように変更すると、いくつかの問題に遭遇します。

リンク先のデフォルト リストを見ると、オプションの 1 つが「ActionScript」であり、「Sc」と入力すると、「ActionScript」が提案されますが、これは私の場合は適切ではありません。

たとえば、ユーザーが次のように入力した場合にのみ、「ActionScript」を提案したいだけです。

  • 交流
  • 活動
  • アクティ
  • アクション
  • アクション
  • 行動
  • アクションSc
  • アクションスクリ
  • アクションスクリ
  • アクションスクリプト
  • 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 に答える