【发布时间】:2020-03-31 14:41:42
【问题描述】:
我正在尝试创建一个带有选项组和选项的动态 select2 下拉菜单。选项组中需要有动态数量的选项。
我遇到的问题是如何删除一个选项组及其所有选项,重新附加具有相同标签和 id 的相同选项组,但现在在 jquery 中使用不同的选项。
This is the function i call on every change, when the option group's options are supposed to get changed:
function EmptyDropDowns() {
$("[id$=ddlOfficeAccount] optgroup").remove();
$("[id$=ddlOfficeAccount]").append('<optgroup id="Offices" label="Offices"></optgroup>');
$("[id$=Offices]").append($("<option></option>").text("- All Offices -").val("0"));
}
然后,用其他选项填充组选项:
if (Offices.length > 0) {
for (var i in result.Offices) {
$("[id$=Offices]").append($("<option></option>").text(result.Offices[i]).val(result.Offices[i]));
}
}
这仅在第一次有效,创建一个带有选项组办公室的 Select2 下拉列表,并相应地在其中创建 X 个办公室。但是当需要重新加载时,这段代码:
$("[id$=ddlOfficeAccount] optgroup").remove();
$("[id$=ddlOfficeAccount]").append('<optgroup id="Offices" label="Offices"></optgroup>');
重新附加相同的选项组,即使它实际上不再存在于 DOM 中。
在重新附加之前是否可以清除 $("[id$=Offices]") ?我需要它是相同的元素(相同的 id),因为我稍后将组选项检查为所选选项的父项。
【问题讨论】:
标签: jquery jquery-select2 dropdown options