Select2は、リストからすべてのアイテムを正常にロードします。これは、ページのロード時に特定の値を選択しようとしたときに見つかった問題です。例:
:: select2を特定のhtml要素に配置すると、すべてのアイテムがロードされても値は選択されません。
$('#my_id').select2();
::ページが読み込まれると、選択した特定のアイテムを表示しようとしていますが、選択してもselect2に表示されないため、期待どおりに機能しません。
$('#my_id').val('3'); //select the right option, but doesn't render it on page loads.
ページが読み込まれたときにポップアップするように選択したオプションを作成するにはどうすればよいですか?
前もって感謝します。
更新しました
::すべてのselect2アイテムをロードする方法(申し訳ありませんが、その翡翠、純粋なHTMLではありません):
label(for='category') Category
span.required *
select(id='category', style='width:230px', name='category')
option(value='') - Select -
each cat in categories
option(value='#{cat.id}') #{cat.description}
PS:私のリストのすべてのアイテムが読み込まれます。
:: select2を初期化する方法:
私のJavaScriptに次の行コードを置くだけで成功します:
$('#category').select2();
::特定の値を選択する方法:
最初の試み:
$('#category').select2( { initSelection: function(element, callback) { callback($('#field-category').val()); } } );
2回目の試行:
$('#category').val($('#field-category').val());
PS:#field-category
値が非表示の入力フィールドにあり、正常に機能します。
みんなありがとう!