本文實(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" <img id="imgDown" </td> <td> <img id="img1" <img id="img2" </td> </tr> </table></body></html> 


















