删除多个选择选项并替换为新选项

问题描述 投票:-1回答:1

我有一个选择标签,如:

<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
}

我是否缺少某些东西或错误地删除了元素?

javascript jquery multi-select
1个回答
0
投票

您需要在每次更改后刷新jQuery multiselect实例。您可以使用$('#reportProjectDropdown').multiSelect('refresh');

另请参见文档:jQuery multiselect


0
投票

感谢您分享的信息,在注册在这里购买机票之前,我会仔细咨询!https://www.credimed.com/

© www.soinside.com 2019 - 2024. All rights reserved.