這應該是非常簡單的jQuery,但我不能得到它的工作!似乎無法找到任何搜索...jQuery循環上下選擇列表值
我有一個選擇列表,我想用它旁邊的+和 - 按鈕(如數量框)循環訪問列表值,所以用戶不會需要點擊下拉,滾動並選擇。
實際上,我需要一個選擇列表,使用'next'和'previous'按鈕,只需在點擊時觸發jQuery並在值上下循環。
有點樣本腳本將是美好的。
這應該是非常簡單的jQuery,但我不能得到它的工作!似乎無法找到任何搜索...jQuery循環上下選擇列表值
我有一個選擇列表,我想用它旁邊的+和 - 按鈕(如數量框)循環訪問列表值,所以用戶不會需要點擊下拉,滾動並選擇。
實際上,我需要一個選擇列表,使用'next'和'previous'按鈕,只需在點擊時觸發jQuery並在值上下循環。
有點樣本腳本將是美好的。
鑑於以下<html/>
<select>
<option></option>
<option value="1">Opion 1</option>
<option value="2">Opion 2</option>
<option value="3">Opion 3</option>
<option value="4">Opion 4</option>
<option value="5">Opion 5</option>
<option value="6">Opion 6</option>
</select>
<input type="button" value=" - " id="down"/>
<input type="button" value=" + " id="up"/>
和腳本:
$("#up").click(function(){
$("select option:selected").next().prop("selected", true);
});
$("#down").click(function(){
$("select option:selected").prev().prop("selected", true);
});
當單擊後退按鈕,執行這樣的事情:
var curr = $('#select').find(':selected');
var prev = curr.prev('option');
if (prev.length) {
curr.removeAttr('selected');
prev.attr('selected', 'selected');
}
在接下來的按鈕,它幾乎是相同的:
var curr = $('#select').find(':selected');
var next= curr.next('option');
if (next.length) {
curr.removeAttr('selected');
next.attr('selected', 'selected');
}
我已經建立上的jsfiddle一個例子:http://jsfiddle.net/prMm2/1/
基本上,你只需要找到當前選定的元素,刪除它的選擇狀態,並將selected="selected"
添加到下一個/上一個。
謝謝!這是偉大的,它顯示了我的問題的基礎... – Paul 2011-06-08 20:58:38
我正在使用jqtransform風格的形式,並與此打開的事件不會發生 - 所以我認爲必須是選擇器的問題? – Paul 2011-06-08 20:59:39
非常好。謝謝。我已經把你的小提琴撥開了,讓它「晝夜不停地」循環。檢查出來:http://jsfiddle.net/lazurski/LQ58L/2/ – 2013-07-07 15:58:13