实现option上下移动_js: 实现Select的option上下移动 | 学步园
function UpOrDown(direct, selectId) {//direct : 1:Up, -1:Down
var obj = document.getElementById(selectId);
var len = obj.length;
var index = obj.selectedIndex;
//如果:1.沒(méi)有選中的項(xiàng); 2.向上,但已是最上; 3.向下,但是最下,不作處理
if ( (index == -1) || (direct == -1 && index == 0) || (direct == 1 && index >= len - 1) )
return;
var swapIndex = index + direct;
var tempOptions = new Array();
for (var i = 0; i < len; i++){
tempOptions[tempOptions.length] = obj.options[i == index?swapIndex:(i == swapIndex?index:i)];
}
obj.options.length = 0;
for (var i = 0; i < len; i++)
obj.options.add(tempOptions[i]);
}
function UpOrDown2(direct, selectId) {//direct : 1:Up, 0:Down
var obj = document.getElementById(selectId);
var len = obj.length;
var index = obj.selectedIndex;
//如果:1.沒(méi)有選中的項(xiàng); 2.向上,但已是最上; 3.向下,但是最下,不作處理
if( (index == -1) || (direct == 1 && index == 0) || (direct == 0 && index >= len - 1) )
return;
var tempOptions = new Array();
//如是向上,得到自己上一個(gè)到最后的option數(shù)組;如是向下,得到自己到最后一個(gè)的option數(shù)組
for (var i = index - direct; i < len; i++)
tempOptions[tempOptions.length] = obj.options[i];
//去除剛才取得的部分
obj.options.length = index - direct;
//顛倒取兩個(gè)option
obj.options.add(tempOptions[1]);
obj.options.add(tempOptions[0]);
//將余下的option全部加進(jìn)來(lái)
for (var i = 2; i < tempOptions.length; i++)
obj.options.add(tempOptions[i]);
}
1 2 3 4 5 | ??????????????? ??????????????? | ??????????????? ??????????????? |
總結(jié)
以上是生活随笔為你收集整理的实现option上下移动_js: 实现Select的option上下移动 | 学步园的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 雷克沙 ARES RGB DDR5 72
- 下一篇: 含根号的导数怎么求_数学分析Mathem