根据另一个不工作的过滤选择元素

时间:2017-01-23 17:24:30

标签: javascript jquery

我有这样的JS:

$(document).ready(function () {

    $("#DDL1").change(function () {
        var thisValue = $(this).val();

        var $optGroups = $("#DDL2 optgroup");
        $optGroups.hide();

        switch (thisValue) {
            case "11":
                alert(thisValue);
                $optGroups.filter("[label='label1']").show();
                break;
        }

    });
});

基本上,根据第一个ddl的选择..我想过滤第二个..

当我运行时,thisValue = 11,这就是我想要的。但$optGroups仍显示所有的可选值..而我只希望显示标签为label1的optgroup下的值。

关于我可能做错什么的任何解释?

1 个答案:

答案 0 :(得分:1)

如果您的DDL1是select元素,那么原因可能是浏览器会以特殊方式处理optgroupoption元素,并且可能无法{ {1}} / show通过CSS(jQuery的作用)。

尝试使用类似的东西动态插入匹配的hide

optgroup

请注意,该代码仅用于示例目的,未经任何方式测试。