javascriptはコンボリストボックスの要素移動効果を実現します.
11279 ワード
: , 。
実現の基本思想:(1)initメソッドを作成し、二つのリストボックスを初期化する.
(2)body追加onloadイベントのためのinitメソッドの呼び出し.
(3)moveを作成(s 1,s 2)s 1で選択したオプションをs 2に移動します.
(4)moveAllを作成(s 1,s 2)s 1の中のすべてのオプションをs 2に移動します.
(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>