<!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. springboot-mybatis-demo遇到的坑

    目录 前言 问题&解决 1.初始化Maven工程过慢 2.Spring Boot 集成druid时时区问题和连接超时问题 3.完整工程下载 前言 环境: java version " ...

  2. 在Python中,如何将一个字符串数组转换成整型数组

    https://blog.csdn.net/xiangchengguan/article/details/78987041 arr = ['] arr = list(map(int,arr)) pri ...

  3. Oracle--利用监听器日志监控访问该数据库的客户端IP

    服务器10.10.10.168  数据库seineebs 客户端 10.10.10.14  用户guipeng.zhang 查看监听器状态: 在本机利用PL/SQL工具连接该数据库 查看监听器日志:一 ...

  4. 常见的七种Hadoop和Spark项目案例

    常见的七种Hadoop和Spark项目案例 有一句古老的格言是这样说的,如果你向某人提供你的全部支持和金融支持去做一些不同的和创新的事情,他们最终却会做别人正在做的事情.如比较火爆的Hadoop.Sp ...

  5. animate(动画)框架 和 swiper (轮播)框架 的使用

    swiper.js 框架 网址:https://www.swiper.com.cn/ 是一个专门做轮播,切换特效的轮播 使用方法: 然后进入案例,通过案例来进行各种功能的实现, 这一步是教我们怎么做, ...

  6. CentOS7 日常操作 2

    常用命令 文件与目录操作 命令 解析 cd /home 进入 ‘/home’ 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd - 返回上次所在目录 cp file1 file ...

  7. mycat 配置简介

    最近在看 mycat ,官网: http://www.mycat.io/  上面就有 PDF 的教程下载.但是对于我这个初学者来讲,搭建环境的时候还是有点晕,下面从一个简单的例子来讲解相关配置.我用的 ...

  8. (二)Maven之坐标和依赖

    目录 坐标 依赖 目录 坐标 引言: 坐标是依赖管理的基础,是构建的唯一标识. 组成元素: 使用groupId.artifactId.version.packaging.classifier标签即可定 ...

  9. lazarus 2016 2月18 4:22:35 支持android开发了, 既ios,linux,macosx,window,web 后 囊括一切啦。 哈哈

    Android Development Lazarus for Linux Lazarus for Mac OS X Lazarus for iOS Lazarus for Windows Lazar ...

  10. js-url操作记录

    禁用回退&开启回退 // 必须声明方法 否则无法删除此监听器 function backCommon() { history.pushState(null, null, document.UR ...