我有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" );
}
});
});
答案 0 :(得分:1)
在选择器中使用:visible
:
$(".hidden:visible").hide( "slide" );
并不是说我太明白了这一点,只需将$(".hidden").hide( "slide" );
语句作为代码的第一部分,这样它就会隐藏它,并显示具有更改逻辑的正确语句。< / p>
答案 1 :(得分:1)
您现在在代码中说的是:
如果所有选项都不是,请隐藏它们。我不认为这是你想要实现的目标吗? 如果是这样,请使用||作为运营商。
答案 2 :(得分:0)
我认为你应该为所有选择框提供一个共同的课程 .sel_box
,然后执行以下操作:
$('.sel_box').change(function() {