0

select2 jquery プラグインを使用しようとしていますが、結果をフォーマットするために、次のように使用される te​​mplateResult オプションを見つけまし

$(".my-select").select2({
    templateResult: function (obj) {
        //templating
    }
});

コールバックがパラメーターとして受け入れるそのオブジェクトの構造とメソッドを知りたいのですが、それに関するドキュメントを見つけることができませんでした。

それはどのように機能しますか?

4

1 に答える 1

2

などの関数に渡されるオブジェクト パラメータは、データ オブジェクトtemplateResulttemplateSelection呼ばれます。これらは、 Select2 によって構築されるタグの内部表現です。<option>


および/またはタグ付き (特別なデータ アダプターなし) の場合、オブジェクトには次の自動生成されたプロパティがあり<select>ます。<option><optgroup>

  • id(オプション): タグのvalue属性<option>(または がない場合はテキストvalue)。<optgroup>タグは選択できないため、これはタグにはありません。
  • text<option>:タグ内に含まれるテキスト、または のlabel属性<optgroup>
  • element<option>: orタグを表す DOM 要素<optgroup>で、要素の属性を取得するために使用できます (jQuery またはバニラ JavaScript を使用)。
  • children<option>(オプション):データ オブジェクトが を表している場合に使用される、ネストされたタグ<optgroup>

オプションの配列であるオブジェクトで初期化された Select2 インスタンスdataの場合、各データ オブジェクトは、配列を介して渡されたデータ オブジェクトと一致します。さらに、Select2 がそれを管理するために使用するelement、自動生成された を参照するプロパティがあります。<option>

AJAX などのリモート データ ソースで Select2 を使用すると、これと同様のデータ オブジェクト (おそらく追加データを含む) が返されることが期待されます。これらのオブジェクトは正規化され (文字列textid強制され)、通常どおりテンプレート関数に渡されます。


これらの同じデータ オブジェクトは、select2:selectselect2:unselect、および関連する DOM イベントを通じて返されるものであり、選択または選択解除されたデータ オブジェクトを参照できます。

于 2015-05-27T18:49:21.467 に答える