2011-11-06 158 views
2

我有一个组合框中选择0-8和8组输入字段,其中每组输入字段都围绕一个具有相同类的div。通过DIV的隐藏/显示JQuery循环通过DIV的隐藏/显示

我需要找出如何使用jquery根据选定的组合框隐藏/取消隐藏div。 例如,如果我选择2,那么class =“member1”和class =“member2”需要可见,其余部分不可见。如果我改变主意,并选择1,那么class =“member1”保持可见状态,但member2和其他状态设置为不可见状态?

<div class="member1"> 
<input id="name1"> 
<input id="age1"> 
</div> 
<div class="member2"> 
<input id="name2"> 
<input id="age2"> 
</div> 
: 
: 
<div class="member8"> 
<input id="name8"> 
<input id="age8"> 
</div> 

回答

1

这很简单。考虑selected_number已经从你在谈论的选择字段中提取一个整数,代码看起来是这样的:

jQuery(function(){ 
    var selected_number = 2; 
    jQuery('.member1, .member2, .member3, .member4, .member5, .member6, .member7, .member8').hide(); 
    for (var i=1; i<=selected_number;i++){ 
     jQuery('.member'+i).show(); 
    } 
}); 

作为证明see this jsfiddle(其他城市selected_number值,看看它是如何工作)。

+1

太棒了!确切地说,我一直在寻找......太简单了,一旦你为我打下了它并且喜欢它 – Gotcha

0

假设selectedValue是含有 所选值的整数。

for(var i=1;i<=8;i++){ 
    if(i<=selectedValue){ 
    $(".member"+i).show(); 
    } else { 
    $(".member"+i).hide();  
    } 
} 
+0

感谢bud ...我不知道如何评估成员的连接到整数我...我想我必须使用eval ...但像上面的tadeck ...你的是一个伟大的! – Gotcha

0

您可以为每个可切换元素添加通用类,并在选中某个选项时将其全部隐藏,然后只显示所需的类。

$('.toggle-able').hide(); 
$('.member' + selectedValue).show();