JS控制下拉列表左右選擇實例代碼
使用JS控制下拉列表左右選擇
需求分析
在我們的分類管理中,我們要能夠去修改我們的分類信息,當我們一點修改的時候,跳轉(zhuǎn)到一個可以編輯的頁面,這里面能夠修改分類的名稱,分類的描述,以及分類的商品
技術(shù)分析
ondblclick="selectOne()":雙擊事件
select標簽的屬性multiple="multiple":
代碼實現(xiàn)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <!-- 步驟分析 1. 確定事件: 點擊事件 :onclick事件 2. 事件要觸發(fā)函數(shù) selectOne 3. selectOne要做一些操作 (將左邊選中的元素移動到右邊的select中) 1. 獲取左邊Select中被選中的元素 2. 將選中的元素添加到右邊的Select中就可以 --> <script> function selectOne(){ //1. 獲取左邊Select中被選中的元素 var leftSelect = document.getElementById("leftSelect"); var options = leftSelect.options; //找到右側(cè)的Select var rightSelect = document.getElementById("rightSelect"); //遍歷找出被選中的option for(var i=0; i < options.length; i++){ var option1 = options[i]; if(option1.selected){ //2. 將選中的元素添加到右邊的Select中就可以 rightSelect.appendChild(option1); } } } //將左邊所有的商品移動到右邊 function selectAll(){ //1. 獲取左邊Select中被選中的元素 var leftSelect = document.getElementById("leftSelect"); var options = leftSelect.options; //找到右側(cè)的Select var rightSelect = document.getElementById("rightSelect"); //遍歷找出被選中的option for(var i=options.length - 1; i >=0; i--){ var option1 = options[i]; rightSelect.appendChild(option1); } } </script> </head> <body> <table border="1px" width="400px"> <tr> <td>分類名稱</td> <td><input type="text" value="手機數(shù)碼"/></td> </tr> <tr> <td>分類描述</td> <td><input type="text" value="這里面都是手機數(shù)碼"/></td> </tr> <tr> <td>分類商品</td> <td> <!--左邊--> <div style="float: left;"> 已有商品<br /> <select multiple="multiple" id="leftSelect" ondblclick="selectOne()"> <option>華為</option> <option>小米</option> <option>錘子</option> <option>oppo</option> </select> <br /> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="selectOne()"> >> </a> <br /> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="selectAll()"> >>> </a> </div> <!--右邊--> <div style="float: right;"> 未有商品<br /> <select multiple="multiple" id="rightSelect"> <option>蘋果6</option> <option>腎7</option> <option>諾基亞</option> <option>波導</option> </select> <br /> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > << </a> <br /> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <<< </a> </div> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="提交"/> </td> </tr> </table> </body> </html>
實例補充:
<!DOCTYPE html> <html> <head> <title>JavaScript下拉列表左右選擇</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" > function chooseToRight() { var op=document.getElementById("s1").getElementsByTagName("option"); var select2=document.getElementById("s2"); var k=op.length; for(var i=0;i<k;i++) { if(op[i].selected==true) { select2.appendChild(op[i]); k--;i--; //這里要特別注意?。。∫驗閍ppendChild相當于剪切,所以每次循環(huán)之后要執(zhí)行k--,i-- } } } function chooseToLeft() { var op=document.getElementById("s2").getElementsByTagName("option"); var select2=document.getElementById("s1"); var k=op.length; for(var i=0;i<k;i++) { if(op[i].selected==true) { select2.appendChild(op[i]); k--;i--; } } } function allToLeft() { var op=document.getElementById("s2").getElementsByTagName("option"); var select2=document.getElementById("s1"); var k=op.length; for(var i=0;i<k;i++) { select2.appendChild(op[i]); k--;i--; } } function allToRight() { var op=document.getElementById("s1").getElementsByTagName("option"); var select2=document.getElementById("s2"); var k=op.length; for(var i=0;i<k;i++) { select2.appendChild(op[i]); k--;i--; } } </script> </head> <body> <div style="float: left"> <select id="s1" multiple="multiple" style="width: 120px;height: 150px"> <option>AAAAAAA</option> <option>BBBBBBB</option> <option>CCCCCCC</option> <option>DDDDDDD</option> <option>EEEEEEE</option> </select><br><br> <input type="button" value="選中添加到右邊" onclick="chooseToRight();"/><br><br> <input type="button" value="全部添加到右邊" onclick="allToRight();"/><br> </div> <div style="float: left"> <select id="s2" multiple="multiple" style="width: 120px;height: 150px"> <option>1111111</option> <option>2222222</option> <option>3333333</option> <option>4444444</option> <option>5555555</option> </select><br><br> <input type="button" value="選中添加到左邊" onclick="chooseToLeft();"/><br><br> <input type="button" value="全部添加到左邊" onclick="allToLeft();"/><br> </div> </body> </html>
到此這篇關(guān)于JS控制下拉列表左右選擇實例代碼的文章就介紹到這了,更多相關(guān)如何使用JS控制下拉列表左右選擇內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 純js代碼生成可搜索選擇下拉列表的實例
- jQuery實現(xiàn)在下拉列表選擇時獲取json數(shù)據(jù)的方法
- js使下拉列表框可編輯不止是選擇
- javascript實現(xiàn)通過拼音首字母快速選擇下拉列表
- js實現(xiàn)下拉列表選中某個值的方法(3種方法)
- jquery用ajax方式從后臺獲取json數(shù)據(jù)后如何將內(nèi)容填充到下拉列表
- jquery+json 通用三級聯(lián)動下拉列表
- javaScript年份下拉列表框內(nèi)容為當前年份及前后50年
- js獲取下拉列表框<option>中的value和text的值示例代碼
- JavaScript實現(xiàn)下拉列表選擇框
相關(guān)文章
JavaScript使用lodash實現(xiàn)命名轉(zhuǎn)換和函數(shù)封裝
Lodash?是一個?JavaScript?的工具庫,它提供了一系列的函數(shù)來簡化代碼編寫,本文主要為大家介紹了如何使用lodash實現(xiàn)命名轉(zhuǎn)換和函數(shù)封裝,感興趣的小伙伴可以了解下2023-11-11js中document.getElementByid、document.all和document.layers區(qū)分介紹
document.getElementById 是公共標準,被目前的所有主流瀏覽器支持,document.all只有IE支持,document.layers是Netscape 4.x專有的屬性2011-12-12Javascript中JSON數(shù)據(jù)分組優(yōu)化實踐及JS操作JSON總結(jié)
這篇文章主要介紹了Javascript中JSON數(shù)據(jù)分組優(yōu)化實踐,文中還對JS操作JSON的要領(lǐng)做了總結(jié),需要的朋友可以參考下2017-12-12