オートコンプリート プラグインで結果の表示形式をカスタマイズするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-21 08:07:02
オリジナル
574 人が閲覧しました

How to Customize the Result Display Format in the Autocomplete Plugin?

オートコンプリート プラグインでの結果表示形式のカスタマイズ

jQuery UI オートコンプリート プラグインは、ユーザー入力を処理し、関連するオプションを提案する強力な方法を提供します。 。デフォルトでは、ドロップダウン結果には、提案された項目内のユーザー入力の一致が表示されます。ただし、表示された結果で検索文字を強調表示するなど、よりカスタマイズされた形式が必要な場合があります。

プラグインのモンキー パッチ

これを実現するには、次のことができます。 「モンキーパッチ」として知られる手法を使用し、ライブラリ内の内部関数を再定義します。この場合、ドロップダウン リスト内の各項目の作成を担当する _renderItem 関数をオーバーライドする必要があります。

カスタマイズされた _renderItem 関数の作成

例を次に示します。カスタマイズされた _renderItem 関数:

$.ui.autocomplete.prototype._renderItem = function( ul, item) {
  var re = new RegExp("^" + this.term);
  var t = item.label.replace(re,"<span style='font-weight:bold;color:Blue;'>" + this.term + "</span>");
  return $( "<li></li>" )
    .data( "item.autocomplete", item )
    .append( "<a>" + t + "</a>" )
    .appendTo( ul );
};
ログイン後にコピー

この関数は、正規表現を使用して一致する文字を分離し、特定のスタイルを備えた HTML の Span 要素でそれらをラップします。スパン要素は、太字のフォントと青色を使用して一致を強調表示します。

パッチの適用

カスタマイズした関数を作成したら、それを適用できます。ドキュメント準備完了イベント内で次の関数を呼び出して、オートコンプリート ウィジェットを開きます:

monkeyPatchAutocomplete();
ログイン後にコピー

この関数は、デフォルトの _renderItem 関数をカスタマイズしたバージョンに置き換えます。

大文字と小文字の保持

上記のコードは一致を強調表示しますが、元の入力の大文字と小文字は保持しないことに注意してください。大文字と小文字を区別しないように、_renderItem 関数内の置換行を次のように変更します。

var t = item.label.replace(re,"<span style='font-weight:bold;color:Blue;'>" + "$&amp;" + "</span>");
ログイン後にコピー

ターゲット パッチ

上記の変更は、ページ上のすべてのオートコンプリート ウィジェットに影響します。特定のインスタンスのみをカスタマイズしたい場合は、「ページ上のオートコンプリートの 1 つだけ インスタンスにパッチを適用する方法?」

という質問を参照してください。

以上がオートコンプリート プラグインで結果の表示形式をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!