應用背景:在頁面中有兩個列表框,需要把其中一個列表框的元素移動到另一個列表框 。 實現的基本思想: (1)編寫init方法對兩個列表框進行初始化; (2)為body添加onload事件調用init方法; (3)編寫move(s1,s2)把s1中選中的選項移到s2; (4)編寫moveAll(s1,s
應用背景:在頁面中有兩個列表框,需要把其中一個列表框的元素移動到另一個列表框 。
|
(1)編寫init方法對兩個列表框進行初始化;
(2)為body添加onload事件調用init方法;
(3)編寫move(s1,s2)把s1中選中的選項移到s2;
(4)編寫moveAll(s1,s2)把s1中所有的選項都移到s2.
(5)為按鈕添加onclick事件。
javascript代碼如下:
1 <script type="text/javascript" language="javascript"> 2 //對下拉框信息進行初始化 3 function init() { 4 for (i = 0; i < 10; i++) { 5 var y = document.createElement("option");//增加一個元素option 6 y.text = '選項' + i; 7 var x=document.getElementById("s1");//根據ID找到列表框 8 9 x.add(y, null); // 10 11 } 12 13 } 14 15 //把選中的選項移到另一邊 16 function move(s1, s2) { 17 var index = s1.selectedIndex; 18 if (index == -1) { 19 alert("沒有選中值"); 20 return; 21 } 22 23 s2.length++; 24 s2.options[s2.length - 1].value = s1.options[index].value; 25 s2.options[s2.length - 1].text = s1.options[index].text;//s1中當前選中的值賦給s2的最後一個元素 26 s1.remove(index);//從s1中移除當前元素 27 } 28 29 //把一邊的完全移到另一邊 30 function moveAll(s1, s2) { 31 if (s1.length == 0) { 32 alert("沒有可用選擇"); 33 return; 34 } 35 s2.length = s2.length + s1.length; 36 for (var i = 0; i < s1.length; i++) { 37 s2.options[s2.length - s1.length + i].value = s1.options[i].value; 38 s2.options[s2.length - s1.length + i].text = s1.options[i].text; 39 } 40 41 s1.length = 0; 42 } 43 </script>
<body>代碼:
1 <body onload="init()"> 2 <table> 3 <tr> 4 <td><select id="s1" size=10 style="width:100"></select></td> 5 6 <td><input type="button" name="moveToRight" value=">" 7 onClick="move(s1,s2)"> <br> 8 <br> <input type="button" name="moveAllToRight" value=">>" 9 onClick="moveAll(s1,s2)"> <br> <input type="button" 10 name="moveToLeft" value="<" onClick="move(s2,s1)"> <br> 11 <br> <input type="button" name="moveAllToLeft" value="<<" 12 onClick="moveAll(s2,s1)"></td> 13 <td><select id="s2" name="s2" size=10 style="width:100"></select></td> 14 15 </tr> 16 </table> 17 18 </body>