【问题标题】:Hiding a div using multiple select boxes使用多个选择框隐藏 div
【发布时间】:2013-10-30 12:50:44
【问题描述】:

我有 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" );
        }
    });
});

【问题讨论】:

  • 为什么是toggle?为什么不show
  • 抱歉,是的,现在代码实际上是show,但问题在于hide 部分。

标签: javascript jquery html show-hide


【解决方案1】:

在选择器中使用:visible

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

我并没有过多地理解这一点,只需将 $(".hidden").hide( "slide" ); 语句作为代码的第一部分,这样它就会隐藏它,并通过更改逻辑显示正确的语句。

【讨论】:

  • 优秀。谢谢。 (如果允许,我会在 6 分钟内接受答案!)
【解决方案2】:

你现在在代码中说的是:

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

【讨论】:

  • 我对你的代码的理解,它说如果所有选项都不是,或者我错过了一部分。对不起,如果我让你感到困惑。
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 2010-11-27
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多