2011-09-17 59 views
0

我有一個簡單的腳本,增大和減小一個選擇框的所選擇的值:jQuery的選擇框的增加值,只指定下一個選擇

$(".inc").click(function(){ 
    $("select option:selected").next().prop("selected", true); 
}); 
$(".dec").click(function(){ 
    $("select option:selected").prev().prop("selected", true); 
}); 

然而,我在一種形式中20個選擇,並且不想要必須用新的#ids重複腳本才能將腳本與下一個選擇框相關聯(例如選擇#1,#2 ....)

目前,當用戶單擊inc或dec選擇框中,表單中的所有選擇值都會更新,而不僅僅是一個。

任何人都知道如何在腳本執行時只定位到下一個立即選擇框?

謝謝!

回答

1

與選擇菜單相關的.inc在哪裏?有20個公司和20個選擇菜單嗎?

如果結構是:

<div class="inc">increment</div> 
<select><option></option><option></option></select> 

您應該能夠使用

$(".inc").click(function(){ 
$(this).next('select > option:selected').next().prop("selected", true); 
}); 

更新時間:請注意使用。接下來的()取決於你的HTML結構。使用兄弟姐妹()是適當的更好。在這裏舉一個例子:http://jsfiddle.net/JZJZh/

+0

嗨,是的 - 有20個按鈕類「inc」和二十個類「dec」 - 這應該仍然工作? – Marc

+0

是的,它仍然可以工作,但next()僅獲取DOM元素後面的IMMEDIATELY,所以如果你有'

',那麼只有'dec'的人可以工作。我修改了我的腳本以使用「兄弟姐妹」(所以他們會工作,只要他們在同一個DOM層次結構中。下面是一個工作示例:http://jsfiddle.net/JZJZh/。 – Benno

+1

是的 - 那太棒了,非常感謝您的幫助 - 非常感謝! – Marc