我有一个选择标签,如:
<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
}
我是否缺少某些东西或错误地删除了元素?
您需要在每次更改后刷新jQuery multiselect实例。您可以使用$('#reportProjectDropdown').multiSelect('refresh');
另请参见文档:jQuery multiselect
感谢您分享的信息,在注册在这里购买机票之前,我会仔细咨询!https://www.credimed.com/