zoukankan      html  css  js  c++  java
  • javascript实现组合列表框中元素移动效果

      应用背景:在页面中有两个列表框,需要把其中一个列表框的元素移动到另一个列表框 。
       实现的基本思想:

      (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="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="100"></select></td>
    14 
    15         </tr>
    16     </table>
    17 
    18 </body>
  • 相关阅读:
    12 Source Code Profilers for C & C++
    HttpWebRequest的使用方法
    MSDN Windows 下载
    Qt 4.7 在VS2010环境下的编译
    [转].NET Logging Tools and Libraries
    硬盘崩溃之后
    .net core 下使用 logdashboard 日志面板
    工具收藏 年终工作总结必备工具之ppt利器
    Dapper 的应用和Dapper.Contrib 的方法封装(一)
    Dapper 的应用和Dapper.Contrib 的方法封装(二)
  • 原文地址:https://www.cnblogs.com/zhhx/p/4385833.html
Copyright © 2011-2022 走看看