【发布时间】:2020-03-15 15:19:43
【问题描述】:
我有一个选择标签,例如:
<span id="reportProjectSelector">
<span>Reporting Project:</span>
<select id="reportProjectDropdown" onChange="loadChartWithData();" multiple="multiple"></select>
</span>
和
$(function() {
$('#reportProjectDropdown_${widgetId}').multiselect({
includeSelectAllOption: true
});
});
在这里,我有多个其他下拉列表的下拉链,它们是“reportProjectDropdown”的父级。为简单起见,让我们只考虑一个“项目”。所以现在我们有了“项目”,在更改时会触发“报告项目”过滤器。目前,报告项目过滤器不会更改和替换新值(基本上为 null 或没有值,这些值被下拉列表中的“无报告项目”之类的值替换)
我已尝试删除以前的值,但没有运气。这是我期望的功能。
function setDependentProjects (data, widgetId) {
$('#reportProjectDropdown').find('option').remove().end();
if(jQuery.isEmptyObject(data)) {
let newOption = new Option("No Projects", 0, true, true);
$('#reportProjectDropdown').append(newOption);
} else {
let selected = true;
for(let key in data) {
selected = "${defaultDependentProject}" == data[key];
let newOption = new Option(data[key], key, selected, selected);
$('#reportProjectDropdown').append(newOption);
selected = false;
}
}
loadChartWithData_${widgetId}(); //renders data as per the previous filters
}
我是否遗漏了某些内容或错误地删除了元素?
【问题讨论】:
-
从哪里调用 setDependentProjects?你能设置stackblitz吗?
标签: javascript jquery multi-select