1

我正在创建一个 MVC 表单,我有多个复选框和两个下拉列表。我已经弄清楚如何根据选中的框填充第一个 DDL(即在开始时为空,选中框填充项目)。但是,我想添加另一个具有相同项目并以相同方式填充的 DDL。我的代码如下所示:

<script type="text/javascript">
    function checkedToggle(value, checked) {
        x = document.getElementById("filter1");
        y = document.getElementById("filter2");
        if (checked == true) {
            var option = document.createElement("option");
            option.text = value;
            x.add(option, null);
            y.add(option, null);
        }
        else {
            for (i = 0; i < x.length; i++) {
                if (x.options[i].value == value) {
                    x.remove(i);
                    y.remove(i);
                }
            }
        }
    }
</script>

一旦取消选中该框,else 语句显然会从列表中删除一个项目。

现在,当您单击一个复选框时,而不是将项目添加到两个列表中,它只会添加到第二个列表中,我不确定为什么。有什么建议吗?

4

1 回答 1

0

您需要创建两个元素,因为在您的代码中您只需将第一个 DOM 元素移动到第二个选择。

var option = document.createElement("option");
var option2 = document.createElement("option");

option.text = value;
option2.text = value;

x.add(option, null);
y.add(option2, null);
于 2012-10-15T20:27:48.423 回答