<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>下拉列表左右选择</title>
<style type="text/css">
div {
width: 200px;
float: left;
}
select {
width: 100px;
height: 180px;
padding: 10px;
}
</style>
</head>
<body>
<div>
<select multiple="multiple" id="leftSel" style="margin-left: 17px;">
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
<option>选项4</option>
<option>选项5</option>
<option>选项6</option>
<option>选项7</option>
<option>选项8</option>
<option>选项9</option>
<option>选项10</option>
</select>
<br />
<input type="button" value="选中添加到右边 ->" onclick="choiceToRight()">
<br />
<input type="button" value="全部添加到右边 -->" onclick="allToRight()">
</div> <div>
<select multiple="multiple" id="rightSel" style="margin-left: 17px;"></select>
<br />
<input type="button" value="<- 选中添加到左边" onclick="choiceToLeft()">
<br />
<input type="button" value="<-- 全部添加到左边" onclick="allToLeft()">
</div> <script type="text/javascript">
// 获取select
var leftSel = document.getElementById("leftSel");
var rightSel = document.getElementById("rightSel");
// 选中添加到右边
function choiceToRight() {
toSel(leftSel, rightSel, true);
}
// 全部添加到右边
function allToRight() {
toSel(leftSel, rightSel, false);
}
// 选中添加到左边
function choiceToLeft() {
toSel(rightSel, leftSel, true);
}
// 全部添加到左边
function allToLeft() {
toSel(rightSel, leftSel, false);
}
// 如果flag为true,就是选中添加,如果为false,就是全部添加
function toSel(fromSel, toSel, flag) {
var subSel = fromSel.getElementsByTagName("option");
if (flag) {
for (var i = 0; i < subSel.length; i++) {
if (subSel[i].selected) {
toSel.appendChild(subSel[i]);
// 因为subSel的length每次会-1,所以让i归零,保证每次for循环都能被执行到
i--;
}
}
} else {
for (var i = 0; i < subSel.length; i++) {
toSel.appendChild(subSel[i]);
i--;
}
}
}
</script>
</body>
</html>

JavaScript基础2——下拉列表左右选择的更多相关文章

  1. JavaScript案例五:下拉列表左右选择

    用JavaScript实现下拉列表左右选择,很简单,不过要特别注意循环时要注意变量是否发生了变化(见代码) <!DOCTYPE html> <html> <head> ...

  2. 【JavaWeb】JavaScript 基础

    JavaScript 基础 事件 事件是指输入设备与页面之间进行交互的响应. 常用的事件: onload 加载完成事件:页面加载完成之后,常用于页面 js 代码初始化操作: onclick 单击事件: ...

  3. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  4. 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】

    一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...

  5. javascript基础部分

    javascript基础部分 1  数据类型: 基础数据类型(通过typeof来检测):Number,string,undefined,null,boolean,function typeof只能检测 ...

  6. javascript基础语法——词法结构

    × 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...

  7. JavaScript基础插曲—元素样式,正则表达式,全局模式,提取数组

    JavaScript基础学习 学习js的基础很重要,可以让自己有更多的技能.我相信这个以后就会用到. Eg:点击选择框,在div中显示出选择的数量 window.onload = function() ...

  8. JavaScript基础—插曲

    Javascript基础 1:js中我们最好使用单引号,其实可以使用双引号的但是为了区别所以js中全部使用单引号.注释和C#的是一样的.网页里面的执行顺序是从上到下依次执行的,不管你js放到哪里,都会 ...

  9. js实现-下拉列表左右选择

    下拉列表左右选择          * 下拉选择框               <select>                     <option>111</opt ...

随机推荐

  1. 线程协作之threading.Condition

    领会下面这个示例吧,其实跟java中wait/nofity是一样一样的道理 import threading # 条件变量,用于复杂的线程间同步锁 """ 需求: 男:小 ...

  2. Java——常用类(File)

    [File]    <1>java.io.File类代表系统文件名(路径和文件名).         ----注意:这里代表的只是文件名,而不是物理上的文件(硬盘上的数据),通过该类无法读 ...

  3. 对拍程序 x

    一.介绍 在做题或者正式比赛过程中总会把水题做水做乱,但因为样例有坑所以直接过了样例,然后拿去评测结果发现全WA.那如何在这种情况下检查自己程序或算法的正确性呢?对拍是一个简便省事的方案. 所谓“对拍 ...

  4. CodeForces 1197D Yet Another Subarray Problem

    Time limit 2000 ms Memory limit 262144 kB Source Educational Codeforces Round 69 (Rated for Div. 2) ...

  5. H. The Game of Life

    题目链接:http://exam.upc.edu.cn/problem.php?id=5206 题意:邻居为八个方向.若一个活人有2或3个邻居,遗传一代,否则死亡:若一个死人有3个邻居,则下一代复活. ...

  6. 使用maven如何生成源代码的jar包

    http://hw1287789687.iteye.com/blog/1943157 Maven build...

  7. ionic框架+angular开发项目

    ionic框架组件地址:https://ionicframework.com/docs/api/tab ionic文档地址:https://ionicframework.com/docs/angula ...

  8. Mac sublime安装package controller

    https://packagecontrol.io/installation#st2  链接被墙了这个. 我拿来放在这里. The simplest method of installation is ...

  9. 【转】GLSL资料收集

    https://blog.csdn.net/u013467442/article/details/44457869 其中入门资料相当好:https://blog.csdn.net/racehorse/ ...

  10. CAS-4.2.7接入REST登录认证,移动端、C/S端登录解决方案

    一.发送GET请求获取RSA公钥和JSESSIONID 请求地址:/cas/login,请求类型:GET curl -I http://cas.gfstack.geo:8080/cas/login 返 ...