2017-08-22 6 views
0

私は以下のselect2入力を持っています。Select2はtemplateSelectionでグループのネストされたオプションを取得します

$('#input').select2({ 
    width: '100%', 
    placeholder: "Brand/product name", 
    allowClear: true, 

    data: parseRawDataToSelect2(), 

    templateSelection: formatForDisplay, 
    escapeMarkup: function (m) { 
     return m; 
    } 
}); 

そしてparseRawDataToSelect2 SELECT2入力用のデータを以下のリターン:

[ 
    { 
     id: '', 
     text: 'group 1', 
     children: [{id: 1, text: 'option 1 in group 1'}, {id: 2, text: 'option 2 in group 1'}] 
    }, 
    { 
     id: '', 
     text: 'group 2', 
     children: [{id: 3, text: 'option 3 in group 2'}, {id: 4, text: 'option 4 in group 2'}] 
    } 
] 

私はformatSelectionが使用されなくなったと「escapeMarkup」コールバックと一緒に代わりtemplateSelectionを使用する必要があることが分かったん。 templateSelectionは、formatForDisplayに次のデータのみを注入します。

{id: "", text: "Brand/product name"}

私は選択がしかし、行われたときグループ内の子のオプションにアクセスする必要があります。私はこの問題を回避するための適切な解決策を見つけることができませんでした。誰かが私にこれを行う正しい方法を指示できますか?

答えて

0

<select></select>要素は、グループ化されたオプションでトリックしました。 <input></input>を使用してselect2機能をアタッチしていたので、問題は自分のhtml要素で発生していました。私は使用しています

Select2 4.0.3 <input>要素を持つグループ化されたオプションでは正しく動作しません。私が間違っていれば私を修正してください。

関連する問題