3

jquery オートコンプリート プラグインを使用しています。複数の値を使用するように構成されています。

オプション minLength を設定しました: 2

minLength オプションは、最初の autosuggest 単語に対してのみ機能し、複数の値に対しては機能しません。

この問題を解決するには、どのように構成するか、どのメソッドをオーバーライドする必要がありますか。

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

4

2 に答える 2

8

jQuery UI Web サイトの複数のリモート デモは、この動作を示しています。カスタム検索機能を追加するだけです:

$('#autocomplete').autocomplete({
    search: function() {
        // custom minLength
        var term = extractLast( this.value );
        if ( term.length < 2 ) {
            return false;
        }
    }
});

参照: http://jqueryui.com/demos/autocomplete/#multiple-remote

于 2012-04-09T01:47:49.040 に答える
1

2012 年の Christian のバージョンは非常に便利であることがわかりましたが、2016 年に動作する改訂バージョン (jQuery UI 1.12.0) を次に示します。

function split(val) {
  return val.split(/\s+/);
}

function extractLast(term) {
  return split(term).pop();
}

source: function(request, response) {
  // delegate back to autocomplete, but extract the last term
  const term = extractLast(request.term)
  if (term.length < this.options.minLength) {
    return false;
  }
  response($.ui.autocomplete.filter(
    data, term));
}

このminLengthオプションは、通常どおり提供するだけでよく、source関数内で使用されます。さらにコンテキストが必要な場合は、デモを参照してください。

デモ

于 2016-09-08T19:58:49.773 に答える