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); 必须在每个循环内。