2010-03-10 132 views
5

我想知道是否有可能在選擇控件中更改事物的順序而無需完全重建它?向上/向下移動一個項目

是否有一個JavaScript函數,我可以在選擇中更改特定選項的「索引」?

感謝

回答

5

當然,只要找到jQuery中的兩個元素(通過其ID或其他),所以你有兩個對象,然後對他們

使用 before()
var o1=$("#opt1"); 
var o2=$("#opt2"); 
o2.insertBefore(o1); 
+1

我喜歡你的解決方案比我的更好。爲什麼我沒有想到這個? :-) – Josh 2010-03-10 18:54:00

+0

偉大的東西。謝謝大家! – AndrewC 2010-03-10 19:03:10

1

嘗試使用Array.splice

// Remove the option from the list: 
var option = selectElement.options.splice(indexOfOptionToRemove,1); 

// and put it back in at the new index: 
selectElement.options.splice(indexOfNewOptionPosition,option);