0
select2の選択肢があるテーブルがあります。各行には、属性にデフォルト値のある追加ボタンがあります。ユーザーが項目を追加すると、同じデフォルト値を持つ各select2ボックスを更新する必要があります。ここに私のコードの一部です:Select2 v4は、複数の選択コントロールでは機能しません。
<tr>
<td>
<div class="gb-select-div" rowId="279525">
<select class="idInLine">
<option value="">--Select--</option>
</select>
</div>
</td>
<td>
<a href='#' default="Piet" class='ui-icon ui-icon-circle-plus addId'></a>
</td>
</tr>
var rowId;
var def;
var newOption = new Option(name, newId, true, true);
$(".idInLine").each(function() {
rowId = $(this).closest('div').attr('rowId');
def = $('#tr' + rowId).find(".addId").attr("default")
if (def === defaultValue) {
$(this).append(newOption).trigger('change');
}
});
コードはほとんど動作しています。新しい項目が追加されました(Ajax)。 select2 changeイベントがトリガーされます(セレクションはAjaxで保存されます)。唯一の問題は、 1つのselect2コントロールだけが新しい値を表示し、他のコントロールは " - 選択 - "を表示し続けます。
私は最新バージョンのselect2 v4を使用しています。