Select2 v4 append 不适用于多个 select 控件
Select2 v4 append not working for multiple select controls
我有一个 table 有 select2 个选项。每行都有一个添加按钮,属性中有一个默认值。当用户添加一个项目时,每个具有相同默认值的 select2 框都必须更新。这是我的代码的一部分:
<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 更改事件(选择保存为 Ajax)。唯一的问题是;只有一个 select2 控件显示新值,其他控件继续显示“--Select--”。
我使用的是最新版本的select2 v4。
解决了。该行:
var newOption = new Option(name, newId, true, true);
必须在每个循环内。
我有一个 table 有 select2 个选项。每行都有一个添加按钮,属性中有一个默认值。当用户添加一个项目时,每个具有相同默认值的 select2 框都必须更新。这是我的代码的一部分:
<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 更改事件(选择保存为 Ajax)。唯一的问题是;只有一个 select2 控件显示新值,其他控件继续显示“--Select--”。
我使用的是最新版本的select2 v4。
解决了。该行:
var newOption = new Option(name, newId, true, true);
必须在每个循环内。