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>