我想要一个列表打开时,我点击一个元素的选项。但我希望单独为每个选项打开该列表,但一次只能打开一个。我的意思是,当我点击option1,list1出现,然后我点击option2和列表1消失,列表2打开,但以相同的方式。我用这个代码:打开一个单独的元素点击一个选项
$(document).ready(function() {
$(".select-prod option").each(function(){
$(this).click(function(){
// alert("sdd");
$(this).parent().next("ul.suggestedprod").fadeIn(800);
});
});
});
HTML:
<select class="form-control select-prod">
<option>Aviva Freedom Life Advantage</option>
<option>Aviva Freedom Life Advantage(Oct 2013)</option>
<option>Aviva iGrowth</option>
</select>
<ul class="suggestedprod">
<li class="list-unstyled">Suggested policies similar to this one:</li>
<li><a href="#">Aviva Live Smart</a></li>
<li><a href="#">Aviva Live Smart(Oct 2013)</a></li>
<li><a href="#">Aviva New Freedom Life Plan</a></li>
</ul>
正在发生的事情是,ul.suggestedprod
出现在任何选项我点击THR第一次的选择,那么它不褪色在第二个。我尝试.change()
而不是.click,但它不起作用。这里是提琴:http://jsfiddle.net/ZZL62/3/
在此先感谢
为什么使用'.each()'? – melancia
'option'不会触发事件。 'select'的确如此。 – melancia
这是你在找什么? http://jsfiddle.net/ZZL62/7/ – melancia