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

  (1)编写init方法对两个列表框进行初始化;

  (2)为body添加onload事件调用init方法;

  (3)编写move(s1,s2)把s1中选中的选项移到s2;

  (4)编写moveAll(s1,s2)把s1中所有的选项都移到s2.

  (5)为按钮添加onclick事件。

javascript代码如下:

 <script type="text/javascript" language="javascript">
//对下拉框信息进行初始化
function init() {
for (i = 0; i < 10; i++) {
var y = document.createElement("option");//增加一个元素option
y.text = '选项' + i;
var x=document.getElementById("s1");//根据ID找到列表框 x.add(y, null); // } } //把选中的选项移到另一边
function move(s1, s2) {
var index = s1.selectedIndex;
if (index == -1) {
alert("没有选中值");
return;
} s2.length++;
s2.options[s2.length - 1].value = s1.options[index].value;
s2.options[s2.length - 1].text = s1.options[index].text;//s1中当前选中的值赋给s2的最后一个元素
s1.remove(index);//从s1中移除当前元素
} //把一边的完全移到另一边
function moveAll(s1, s2) {
if (s1.length == 0) {
alert("没有可用选择");
return;
}
s2.length = s2.length + s1.length;
for (var i = 0; i < s1.length; i++) {
s2.options[s2.length - s1.length + i].value = s1.options[i].value;
s2.options[s2.length - s1.length + i].text = s1.options[i].text;
} s1.length = 0;
}
</script>

<body>代码:

 <body onload="init()">
<table>
<tr>
<td><select id="s1" size=10 style="width:100"></select></td> <td><input type="button" name="moveToRight" value=">"
onClick="move(s1,s2)"> <br>
<br> <input type="button" name="moveAllToRight" value=">>"
onClick="moveAll(s1,s2)"> <br> <input type="button"
name="moveToLeft" value="<" onClick="move(s2,s1)"> <br>
<br> <input type="button" name="moveAllToLeft" value="<<"
onClick="moveAll(s2,s1)"></td>
<td><select id="s2" name="s2" size=10 style="width:100"></select></td> </tr>
</table> </body>

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

  1. javascript 获取iframe里页面中元素值的方法 关于contentWindow和contentDocumen

    javascript 获取iframe里页面中元素值的方法 IE方法:document.frames['myFrame'].document.getElementById('test').value; ...

  2. ie中弹出框中元素的定位

    用selenium在ie8浏览器中定位一个弹出框时,直接用ie developer tools可能不一定能定位到,有一个解决的办法是直接在url后面加上#noHide,刷新后,然后再用ie devel ...

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

    <script language="javascript" type="text/javascript"> var txtText4 = " ...

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

    function Datea() { var timed = document.getElementById('timed'); var t = setInterval(function TDate( ...

  5. weui 弹框中的单选效果

    <!--性别修改弹框--> <div class="weui_dialog_alert" id="doctorSexDialog" style ...

  6. (七)对话框,单选框(radiobox),复选框(checkbox),列表框(ListBox),组合框(CComboBox),水平滚动条(Horizontal scroll bar),微调(旋转)spincontrol,列表视图控件CListCtrl,静态控件static

    1,模态对话框和非模态对话框 // 模态对话框 void CMainFrame::OnDialogExec() { // TODO: 在此添加命令处理程序代码 // 创建对话框对象 CDialog d ...

  7. MFC入门示例之组合框(CComboBox)、列表框(CListBox)

    1 //添加按钮点击事件 2 void CMFCApplication4Dlg::OnBnClickedButton1() 3 { 4 CString strText; 5 //获取文本框的值 6 G ...

  8. MFC编程入门之二十四(常用控件:列表框控件ListBox)

    前面两节讲了比较常用的按钮控件,并通过按钮控件实例说明了具体用法.本文要讲的是列表框控件(ListBox)及其使用实例. 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选 ...

  9. javascript文件夹选择框的两种解决方案

    javascript文件夹选择框的两种解决方案 解决方案1:调用windows 的shell,但会有安全问题. * browseFolder.js * 该文件定义了BrowseFolder()函数,它 ...

随机推荐

  1. Redis(十一):哨兵模式架构设计分析

    业务最初的应用场景中,我们也许使用单机redis就可以应付业务要求,但并非一直可行. 比如单机的读写能力问题,单机的可用性问题,单机的数据安全性问题.这些都是许多互联网应用经常会遇到的问题,也基本上都 ...

  2. 关于使用map存放数据乱序”问题“

    今天做项目中遇到了一个比较低级的错误,如果没注意将会变的更麻烦... 其实吧,也不难,要求就是将list中的值转为map后,再顺序输出map中的值,list的顺序怎样,加入到map的顺序也应怎样,不能 ...

  3. PHP5.6.23+Apache2.4.20+Eclipse for PHP 4.5开发环境配置

    一.Apache配置(以httpd-2.4.20-x64-vc14.zip为例)(http://www.apachelounge.com/download/) 1.安装运行库vc11和vc14 2.解 ...

  4. javascript设计模式和开发实践(阶段一)

    1,设计模式的作用:让人们写出可复用和可维护性高的程序,代价可能是,额外增加代码量: 比较形象的例子:空房间里面放东西,如果日复一日的往里面扔东西,时间久了,很难找到自己想要的东西,调整也不容易,但是 ...

  5. 一起了解 .Net Foundation 项目 No.18

    .Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧. 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译.如与原文存在出入,请以原文为准. Protobuild Pr ...

  6. Linux下git使用

    一.安装 本人使用的是centos 7,首先安装git 1.下载git:wget https://Github.com/Git/Git/archive/v2.3.0.tar.gz 2.下载之后解压:t ...

  7. git密令使用

    git密令是一种非常好用的代码版本管理工具,相比SVN,Sourcetree 使用起来复杂,主要是没有汉化包,当你使用熟练时,其实也是非常简单的,逼格高. 具体使用如下: 情景一:你只有远程库,没有本 ...

  8. vue2.0:项目开始,首页入门(main.js,App.vue,importfrom)

    对main.js App.vue 等进行操作: 但是这就出现了一个问题:什么是main.js,他主要干什么用的?App.vue又是干什么用的?main.js 里面的import from又在干嘛?ne ...

  9. (转).balignl 16,0xdeadbeef浅析

    原文地址:http://zqwt.012.blog.163.com/blog/static/12044684201031102956976/ 最近在分析u-boot的源代码,看到这一行: .balig ...

  10. setTimeout和setImmediate到底谁先执行,本文让你彻底理解Event Loop

    笔者以前面试的时候经常遇到写一堆setTimeout,setImmediate来问哪个先执行.本文主要就是来讲这个问题的,但是不是简单的讲讲哪个先,哪个后.笼统的知道setImmediate比setT ...