使用多个选择框隐藏div

时间:2013-10-30 12:50:44

标签: javascript jquery html show-hide

我有4个选择是/否的框我要显示/隐藏。下面的else语句有效但我只想隐藏它已经显示的div(.hidden的CSS是{display:none})。我需要构建一个单独的函数吗?

JS:

$(document).ready(function(){
    $('#questions').change(function() {
        var q1Val = $('#q1 :selected').val();
        var q2Val = $('#q2 :selected').val();
        var q3Val = $('#q3 :selected').val();
        var q4Val = $('#q4 :selected').val();

        //alert(selectVal);
        if (q1Val == "No" && q2Val == "No" && q3Val == "No" && q4Val == "No" ) {
             $(".hidden").show( "slide" );
             //updated code to use show()
        }
        else {
            $(".hidden").hide( "slide" );
        }
    });
});

3 个答案:

答案 0 :(得分:1)

在选择器中使用:visible

$(".hidden:visible").hide( "slide" );

并不是说我太明白了这一点,只需将$(".hidden").hide( "slide" );语句作为代码的第一部分,这样它就会隐藏它,并显示具有更改逻辑的正确语句。< / p>

答案 1 :(得分:1)

您现在在代码中说的是:

如果所有选项都不是,请隐藏它们。我不认为这是你想要实现的目标吗? 如果是这样,请使用||作为运营商。

答案 2 :(得分:0)

我认为你应该为所有选择框提供一个共同的课程 .sel_box,然后执行以下操作:

$('.sel_box').change(function() {