我想要一個列表打開時,我點擊一個元素的選項。但我希望單獨爲每個選項打開該列表,但一次只能打開一個。我的意思是,當我點擊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