js-案例:下拉列表左右選擇分析

效果如圖所示:

  • 首先,選中前兩項:

這裏寫圖片描述

  • 點擊第一個按鈕,選中添加到右邊,效果如圖:

這裏寫圖片描述

  • 然後點擊全部添加到右邊,效果如圖:

這裏寫圖片描述

  • 同樣,點擊選中添加到左邊按鈕,效果如圖:

這裏寫圖片描述

  • 點擊全部添加到左邊按鈕,效果如圖:
    這裏寫圖片描述

完整代碼如圖所示:

<html>
 <head>
  <title>HTML示例</title>
  <style type="text/css">

  </style>
 </head>
 <body>
 <div style="float:left;">
     <select id="sel1" multiple="multiple" style="width:100px; height:100px;">
        <option>aaaaaaaa</option>
        <option>bbbbbbbb</option>
        <option>cccccccc</option>
        <option>dddddddd</option>
        <option>eeeeeeee</option>
     </select>
     <div>
     <input type="button" value="選中添加到右邊" onclick="selAddRight();"/><br/>
     <input type="button" value="全部添加到右邊" onclick="AllAddRight();"/>
     </div>
 </div>
 <div>
     <select id="sel2" multiple="multiple" style="width:100px; height:100px;">
        <option>11111111</option>
        <option>22222222</option>
     </select>
     <div>
     <input type="button" value="選中添加到左邊" onclick="selAddLeft();"/><br/>
     <input type="button" value="全部添加到左邊" onclick="AllAddLeft();"/>
     </div>
 <div>
 <script type="text/javascript">
  function selAddRight(){
      var sel1=document.getElementById("sel1");
      var sel2=document.getElementById("sel2");
      var option1=sel1.getElementsByTagName("option");
      for(var i=0;i<option1.length;i++){
         var option2=option1[i];
         if(option2.selected==true)
          {
         sel2.appendChild(option2);
         i--;//防止多選的時候出錯,如果多個選項同時添加到右邊,則每次循環length會減小,i會增加,會出錯。
          }
      }

  }
  function AllAddRight(){
      var sel1=document.getElementById("sel1");
      var sel2=document.getElementById("sel2");
      var option1=sel1.getElementsByTagName("option");
      for(var i=0;i<option1.length;i++){
         var option2=option1[i];
         sel2.appendChild(option2);
         i--;
      }
  }
  function selAddLeft(){
      var sel1=document.getElementById("sel1");
      var sel2=document.getElementById("sel2");
      var option2=sel2.getElementsByTagName("option");
      for(var i=0;i<option2.length;i++){
         var option1=option2[i];
         if(option1.selected==true)
          {
         sel1.appendChild(option1);
         i--;//防止多選的時候出錯,如果多個選項同時添加到右邊,則每次循環length會減小,i會增加,會出錯。
          }
      }

  }
  function AllAddLeft(){
      var sel1=document.getElementById("sel1");
      var sel2=document.getElementById("sel2");
      var option2=sel2.getElementsByTagName("option");
      for(var i=0;i<option2.length;i++){
         var option1=option2[i];
         sel1.appendChild(option1);
         i--;//防止多選的時候出錯,如果多個選項同時添加到右邊,則每次循環length會減小,i會增加,會出錯。
          }
      }
 </script>
 </body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章