首先給大家說下組合框和列表框的區別:
組合框包括列表框和文本框的功能
文本框:只能輸入數據
列表框:只能選擇數據
組合框:既能輸入數據,又能選擇``
應用背景:在頁面中有兩個列表框,需要把其中一個列表框的元素移動到另一個列表框 。
實現的基本思想:
(1)編寫init方法對兩個列表框進行初始化;
(2)為body添加onload事件調用init方法;
(3)編寫move(s1,s2)把s1中選中的選項移到s2;
(4)編寫moveAll(s1,s2)把s1中所有的選項都移到s2.
(5)為按鈕添加onclick事件。
javascript代碼如下:
<script type="text/javascript" language="javascript"> //對下拉框信息進行初始化 function init() { for (i = ; i < ; i++) { var y = document.createElement("option");//增加一個元素option y.text = '選項' + i; var x=document.getElementById("s");//根據ID找到列表框 x.add(y, null); // } } //把選中的選項移到另一邊 function move(s, s) { var index = s.selectedIndex; if (index == -) { alert("沒有選中值"); return; } s.length++; s.options[s.length - ].value = s.options[index].value; s.options[s.length - ].text = s.options[index].text;//s中當前選中的值賦給s的最後一個元素 s.remove(index);//從s中移除當前元素 } //把一邊的完全移到另一邊 function moveAll(s, s) { if (s.length == ) { alert("沒有可用選擇"); return; } s.length = s.length + s.length; for (var i = ; i < s.length; i++) { s.options[s.length - s.length + i].value = s.options[i].value; s.options[s.length - s.length + i].text = s.options[i].text; } s.length = ; } </script>
<body>代碼:
<body onload="init()"> <table> <tr> <td><select id="s" size= style="width:"></select></td> <td><input type="button" name="moveToRight" value=">" onClick="move(s,s)"> <br> <br> <input type="button" name="moveAllToRight" value=">>" onClick="moveAll(s,s)"> <br> <input type="button" name="moveToLeft" value="<" onClick="move(s,s)"> <br> <br> <input type="button" name="moveAllToLeft" value="<<" onClick="moveAll(s,s)"></td> <td><select id="s" name="s" size= style="width:"></select></td> </tr> </table> </body>
以上內容給大家介紹了JavaScript如何實現組合列表框中元素移動效果的相關知識,希望對大家有所幫助!