JavaScript實現兩個select下拉框選項左移右移,select下拉框

來源:互聯網
上載者:User

JavaScript實現兩個select下拉框選項左移右移,select下拉框

今天沒事用js寫了一個用兩個select下拉框之間能互相移動元素的小程式,剛剛才開始學javascript還有很多最佳化的地方。

Javascript代碼

<script type="text/javascript">       /**選中的元素向右移動**/   function moveRight()   {            //得到第一個select對象     var selectElement = document.getElementById("first");     var optionElements = selectElement.getElementsByTagName("option");     var len = optionElements.length;         if(!(selectElement.selectedIndex==-1))  //如果沒有選擇元素,那麼selectedIndex就為-1     {              //得到第二個select對象       var selectElement2 = document.getElementById("secend");            // 向右移動         for(var i=0;i<len ;i++)         {           selectElement2.appendChild(optionElements[selectElement.selectedIndex]);         }     } else     {       alert("您還沒有選擇需要移動的元素!");     }   }      //移動所有的到右邊   function moveAll()   {     //得到第一個select對象     var selectElement = document.getElementById("first");     var optionElements = selectElement.getElementsByTagName("option");     var len = optionElements.length;     //alert(len);        //將第一個selected中的數組翻轉     var firstOption = new Array();     for(var k=len-1;k>=0;k--)     {       firstOption.push(optionElements[k]);        }     var lens = firstOption.length;       //得到第二個select對象     var selectElement2 = document.getElementById("secend");     for(var j=lens-1;j>=0;j--)     {       selectElement2.appendChild(firstOption[j]);     }   }      //移動選中的元素到左邊   function moveLeft()   {     //首先得到第二個select對象     var selectElement = document.getElementById("secend");     var optionElement = selectElement.getElementsByTagName("option");     var len = optionElement.length;          //再次得到第一個元素     if(!(selectElement.selectedIndex==-1))     {       var firstSelectElement = document.getElementById("first");       for(i=0;i<len;i++)       {         firstSelectElement.appendChild(optionElement[selectElement.selectedIndex]);//被選中的那個元素的索引       }     }else     {       alert("您還沒有選中要移動的項目!");     }   }      //全部向左移   function moveAllLeft()   {     var selectElement = document.getElementById("secend");     var optionElements = document.getElementsByTagName("option");     var len = optionElements.length;     var optionEls = new Array();     for(var i=len-1;i>=0;i--)     {       optionEls.push(optionElements[i]);     }     var lens = optionEls.length;          var firstSelectElement = document.getElementById("first");     for(var j=lens-1;j>=0;j--)     {       firstSelectElement.appendChild(optionEls[j]);     }   } </script>

上面是javascript代碼,下面是html加css代碼。

Html代碼

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <style type="text/css">   .select_move { margin:0px auto; width:206px; height:140px; margin-top:300px;}   .select_move_1 { float:left;}   .select_move_2 { float:left;}   .select_move_3 { float:left;} </style> </head>  <body>   <div class="select_move">        <div class="select_move_1">      <select name="first" size="10" id="first" multiple="multiple">       <option value="寶馬">寶馬</option>       <option value="豐田">豐田</option>       <option value="奧迪">奧迪</option>       <option value="凱迪拉克">凱迪拉克</option>       <option value="現代">現代</option>       <option value="平治">平治</option>       <option value="法拉利">法拉利</option>             </select>     </div>      <div class="select_move_2">         <input type="button" value="------>" onclick="moveRight()"/><br />         <input type="button" value="===>" onclick="moveAll()" /><br />         <input type="button" value="<------" onclick="moveLeft()"/><br />         <input type="button" value="<===" onclick="moveAllLeft()"/>      </div>     <div class="select_move_3">        <select size="10" id="secend" multiple="multiple">        </select>     </div>   </div>    </body> </html> 

源碼下載:js實現下拉框元素互相移動

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.