JS實(shí)現(xiàn)Select的option上下移動(dòng)的方法

字號(hào):


    本文實(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.沒有選中的項(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.沒有選中的項(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">
         <option>1</option>
         <option>2</option>
         <option>3</option>
         <option>4</option>
         <option>5</option>
        </select>
       </td>
       <td>
        <img id="imgUp" onclick="UpOrDown(-1,'Select1')" /><br />
        <img id="imgDown" onclick="UpOrDown(1,'Select1')" />
       </td>
       <td>
        <img id="img1" onclick="UpOrDown2(1,'Select1')" /><br />
        <img id="img2" onclick="UpOrDown2(0,'Select1')" />
       </td>
      </tr>
     </table>
    </body>
    </html>
    希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。