JS實(shí)現(xiàn)Select的option上下移動(dòng)的方法
本文實(shí)例講述了JS實(shí)現(xiàn)Select的option上下移動(dòng)的方法。分享給大家供大家參考,具體如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
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]);
}
</script>
</head>
<body>
<table>
<tr>
<td>
<select id="Select1" size="100" style="width:100px;height:200px;">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</td>
<td>
<img id="imgUp" alt="Up" onclick="UpOrDown(-1,'Select1')" style="cursor:pointer;" /><br />
<img id="imgDown" alt="Down" onclick="UpOrDown(1,'Select1')" style="cursor:pointer;" />
</td>
<td>
<img id="img1" alt="Up2" onclick="UpOrDown2(1,'Select1')" style="cursor:pointer;" /><br />
<img id="img2" alt="Down2" onclick="UpOrDown2(0,'Select1')" style="cursor:pointer;" />
</td>
</tr>
</table>
</body>
</html>
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫(huà)特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS 通過(guò)系統(tǒng)時(shí)間限定動(dòng)態(tài)添加 select option的實(shí)例代碼
- JS & JQuery 動(dòng)態(tài)添加 select option
- JavaScript操作select元素和option的實(shí)例代碼
- JS更改select內(nèi)option屬性的方法
- JavaScript實(shí)現(xiàn)select添加option
- js給selected添加options的方法
- js添加select下默認(rèn)的option的value和text的方法
- jquery根據(jù)一個(gè)值來(lái)選中select下的option實(shí)例代碼
相關(guān)文章
新手快速學(xué)習(xí)JavaScript免費(fèi)教程資源匯總
這篇文章主要介紹了新手快速學(xué)習(xí)JavaScript免費(fèi)教程資源匯總,都是非常不錯(cuò)的學(xué)習(xí)站點(diǎn),有需要的小伙伴可以參考下。2015-06-06
JavaScript 開(kāi)發(fā)規(guī)范要求(圖文并茂)
作為一名開(kāi)發(fā)人員(WEB前端JavaScript開(kāi)發(fā)),不規(guī)范的開(kāi)發(fā)不僅使日后代碼維護(hù)變的困難,同時(shí)也不利于團(tuán)隊(duì)的合作,通常還會(huì)帶來(lái)代碼安全以及執(zhí)行效率上的問(wèn)題。2010-06-06
javascript生成不重復(fù)的隨機(jī)數(shù)
這篇文章主要介紹了javascript在指定范圍內(nèi)生成不重復(fù)的隨機(jī)數(shù)的方法和相關(guān)實(shí)例,有需要的小伙伴可以參考下。2015-07-07
javascript控制swfObject應(yīng)用介紹
本文將詳細(xì)介紹js控制swfObject的實(shí)現(xiàn)方法,需要了解的朋友可以參考下2012-11-11
游覽器中javascript的執(zhí)行過(guò)程(圖文)
在講這個(gè)問(wèn)題之前,先來(lái)補(bǔ)充幾個(gè)知識(shí)點(diǎn),如果對(duì)此已經(jīng)比較了解可以直接跳過(guò)2012-05-05
利用js實(shí)現(xiàn)遮罩以及彈出可移動(dòng)登錄窗口
本篇文章是對(duì)使用js實(shí)現(xiàn)遮罩以及彈出可移動(dòng)登錄窗口的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07
javascript 拖放效果實(shí)現(xiàn)代碼
JavaScript擅長(zhǎng)于修改頁(yè)面中的DOM元素,但是我們使用JavaScript通常只是實(shí)現(xiàn)一些簡(jiǎn)單功能,例如實(shí)現(xiàn)圖片的翻轉(zhuǎn),網(wǎng)頁(yè)中的標(biāo)簽頁(yè),等等。這篇文章將向你展示如何在頁(yè)面中,對(duì)創(chuàng)建的元素實(shí)現(xiàn)拖放。2010-01-01

