這裏是相同的思路與先前發佈非jQuery的例子,但也有一些戰略代碼複用。我的需求是讓按鈕始終在同一個select元素上操作,名爲「cols」。如果你想要更通用的東西,你可以把「sel」作爲moveUp()和moveDown()函數的參數。
function moveUp() {
var sel = document.getElementById("cols");
var i1=0, i2=1;
while (i2 < sel.options.length) {
swapIf(sel,i1++,i2++);
}
}
function moveDown() {
var sel = document.getElementById("cols");
var i1=sel.options.length-1, i2=i1-1;
while (i1 > 0) {
swapIf(sel,i1--,i2--);
}
}
var swapVar = '';
function swapIf(sel,i1,i2) {
if (! sel[i1].selected && sel[i2].selected) {
swapVar = sel[i2].text;
sel[i2].text = sel[i1].text;
sel[i1].text = swapVar;
swapVar = sel[i2].value;
sel[i2].value = sel[i1].value;
sel[i1].value = swapVar;
sel[i1].selected = true;
sel[i2].selected = false;
}
}
?什麼是標記? –
你想移動你的選擇嗎?即從1到2到3?還是你想改變選擇的順序?即從1,2,3到2,1,3 – yamspog
我想上移或下移選擇使用按鈕向上或向下 – devsoft