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

  (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>

最新文章

  1. Hibernate4.0之HibernateSessionFactory源码详解
  2. QMap
  3. 几种垂直居中的方式及CSS图片替换技术
  4. WCF启用日志追踪
  5. eclipse基础及开发插件
  6. CSS3最简洁的轮播图
  7. mysql 安装截图
  8. compilation 元素(ASP.NET 设置架构)
  9. cmake学习笔记(五)
  10. eclipse字母大写和小写转换的快捷键
  11. UVA - 11107:Life Forms
  12. sql server 压缩数据库
  13. 【学习总结】GirlsInAI ML-diary day-4:变量/Variable
  14. hello1源码解析
  15. JavaScript中的Date对象在IOS中的“大坑”
  16. 开发框架-Web-Java:JeePlus
  17. Pipeline Alpha版本项目展示
  18. [Java.web]JSTL 使用
  19. LaTeX去掉默认显示日期时间
  20. 不用循环,、es6创建一个长度为100的数组

热门文章

  1. [LeetCode] 994. Rotting Oranges 腐烂的橘子
  2. HDFS DataNode详解
  3. Asp.Net Core 中IdentityServer4 授权中心之自定义授权模式
  4. flask 设置https请求 访问flask服务器
  5. 关于OSS不再维护的一些讨论
  6. MATLAB神经网络(5) 基于BP_Adaboost的强分类器设计——公司财务预警建模
  7. python常用软件包
  8. (转)ARM协处理器主要用途 及其 指令CDP LDC STC MCR MRC介绍
  9. (转)协议森林15 先生,要点单吗? (HTTP协议概览)
  10. 【转】分布式架构的演进(JavaWeb)