2

我有 4 个要显示/隐藏的选择是/否框。下面的 else 语句有效,但我只想隐藏它已经显示的 div (CSS for .hiddenis {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" );
        }
    });
});
4

3 回答 3

1

:visible在选择器中使用:

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

并不是说我太看重这一点,只需将$(".hidden").hide( "slide" );语句作为代码的第一部分,这样它就会隐藏它,并使用更改逻辑显示正确的语句。

于 2013-10-30T12:55:35.753 回答
1

你现在在代码中说的是:

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

于 2013-10-30T12:55:35.790 回答
0

我认为您应该为所有选择框提供一个通用类 .sel_box,然后执行以下操作:

$('.sel_box').change(function() {
于 2013-10-30T13:00:56.420 回答