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="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>
时间: 2024-11-05 13:07:58

javascript实现组合列表框中元素移动效果的相关文章

JavaScript实现在文本框中输入空格时自动填写某个值

<script language="javascript" type="text/javascript"> var txtText4 = "#" + '<%= new DynamicControl(this, "Text4").ClientID%>'; $(function () { $(txtText4).keyup(function (e) { if (e.which == 32) $(this).

137在搜索框中实现下拉列表效果(扩展知识:表格视图数据源为空数据时显示提示信息)

效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 #import "DropDownListViewController.h" 3 4 @interface ViewController : UITableViewController<UISearchBarDelegate, PassValueDelegate> 5 @property (strong, nonatomic) UISearchBar *sear

向ComboBox列表框中添加Enum的全部数据

foreach (string mode in Enum.GetNames(typeof(BooleanInteractionMode))) { ledResponseModesComboBox.Items.Add(mode); switchResponseModesComboBox.Items.Add(mode); }

javascript动态改变当前页面中元素的状态行为

function Datea() { var timed = document.getElementById('timed'); var t = setInterval(function TDate() { var d1 = new Date() var h = d1.getHours(); var m = d1.getMinutes() var s = d1.getSeconds() //要判断如果h,m,s小于10的情况 h1 = h < 10 ? '0' + h : h m1 = m <

复选框和下拉框js如何操作合格复选框或下拉框中元素

<div style="width: 510px; border: 1px grey solid; border-right: 1px gray; padding-top: 1px;" id="heddendiv"> <div> <ul id="addressul" class="ul_s"> </ul> <div style="color: #ccc; posi

weui 弹框中的单选效果

<!--性别修改弹框--> <div class="weui_dialog_alert" id="doctorSexDialog" style="display: none;"> <div class="weui_mask"></div> <div class="weui_dialog"> <div class="weui_dial

第9章 子窗口控件_9.4-9.6滚动条类、编辑框类、列表框类

9.4 滚动条类 9.4.1 滚动条控件 (1)窗口滚动条与滚动条控件的比较 窗口滚动条 滚动条控件 消息 发送WM_VSCROLL.WM_HSCROLL消息.不发送WM_COMMAND消息.wParam参数的意义是一样的.lParam:当消息来自窗口滚动条时为NULL,来自滚动条控件时为滚动条的句柄. 宽度或高度 固定大小 //水平滚动条高度 GetSysMetrics(SM_CYHSCROLL); //垂直滚动条宽度 GetSysMetrics(SM_CYVSCROLL) 1.大小.位置均可

java界面编程(9) ------ 列表框

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 列表框和JComboBox组合框明显不同,这不仅仅是体现在外观上.当激活JComboBox组合框时,会出现下拉列表:而JList总是在屏幕上占据固定行的空间,大小也不会改变.如果要得到列表框中被选中的项目,只需调用getSelectValues(),它可以产生一个字符串数组,里面是被选中的项目名称. 另外,JList组件也允许多重选择,要是按住ctrl键,连续在多个项目上单击,

积累的VC编程小技巧之列表框

1.列表框中标题栏(Column)的添加 创建一个List Control,其ID为IDC_LIST,在其Styles属性项下的View项里选择Report.Align项里选择Top.Sort项里选择None. 然后在该List所在对话框的类(头文件)里创建ClistCtrl的一个对象m_list然后在.cpp文件的OnInitDialog()之类的函数里实现如下代码: CString strname[3]; strname[0]="Screen Name"; strname[1]=&