JavaScript基础2——下拉列表左右选择
<!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——下拉列表左右选择的更多相关文章
- JavaScript案例五:下拉列表左右选择
用JavaScript实现下拉列表左右选择,很简单,不过要特别注意循环时要注意变量是否发生了变化(见代码) <!DOCTYPE html> <html> <head> ...
- 【JavaWeb】JavaScript 基础
JavaScript 基础 事件 事件是指输入设备与页面之间进行交互的响应. 常用的事件: onload 加载完成事件:页面加载完成之后,常用于页面 js 代码初始化操作: onclick 单击事件: ...
- 前端之JavaScript基础
前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...
- 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...
- javascript基础部分
javascript基础部分 1 数据类型: 基础数据类型(通过typeof来检测):Number,string,undefined,null,boolean,function typeof只能检测 ...
- javascript基础语法——词法结构
× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...
- JavaScript基础插曲—元素样式,正则表达式,全局模式,提取数组
JavaScript基础学习 学习js的基础很重要,可以让自己有更多的技能.我相信这个以后就会用到. Eg:点击选择框,在div中显示出选择的数量 window.onload = function() ...
- JavaScript基础—插曲
Javascript基础 1:js中我们最好使用单引号,其实可以使用双引号的但是为了区别所以js中全部使用单引号.注释和C#的是一样的.网页里面的执行顺序是从上到下依次执行的,不管你js放到哪里,都会 ...
- js实现-下拉列表左右选择
下拉列表左右选择 * 下拉选择框 <select> <option>111</opt ...
随机推荐
- echart--如何将echart的配置项,放到webpack中(CHARTTEMPLATE时)
1.假如,我们已经写好了组件,我们需要把它放入到一个环境中去 2.首先在index.html中,我们需要写一个dom结构 3.新建一个,chart.js文件(这个里面放组件的代码) 1>开始创建 ...
- 文件/大文件上传功能实现(JS+PHP)全过程
PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...
- luogu P1217 [USACO1.5]回文质数 Prime Palindromes x
P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找 ...
- 跳马(Knight Moves), ZOJ1091, POJ2243 x
跳马(Knight Moves), ZOJ1091, POJ2243 题目描述: 给定象棋棋盘上两个位置 a 和 b,编写程序,计算马从位置 a 跳到位置 b 所需步数的最小值. 输入描述: 输入文件 ...
- 【CF1252J】Tiling Terrace(DP)
题意:有一个长为n的串,每个字符是#或者.中的一个,#不超过50个 有3种覆盖串的方式:(.),(..),(.#.),分别能获得g1,g2,g3的收益,覆盖之间不能重叠 第一种方式不能使用超过K次,问 ...
- 大数据笔记(十五)——Hive的体系结构与安装配置、数据模型
一.常见的数据分析引擎 Hive:Hive是一个翻译器,一个基于Hadoop之上的数据仓库,把SQL语句翻译成一个 MapReduce程序.可以看成是Hive到MapReduce的映射器. Hive ...
- Spring_Boot 简单例子
第一步创建项目: 创建项目地址:https://start.spring.io/ 接下来就下载到本地了 跟着加压 接着用idea打开:等待资源下载完成 我写了个简单的:增删改查 项目结构: dao层: ...
- 转:KVM使用NAT联网并为VM配置iptables端口转发,kvmiptables
转载地址:https://www.ilanni.com/?p=7016 在前面的文章中,我们介绍KVM的虚拟机(以下简称VM)都是通过桥接方式进行联网的. 本篇文章我们来介绍KVM的VM通过NAT方式 ...
- Linux下使用 ipset 封大量IP及ipset参数说明
转载Linux下使用 ipset 封大量IP及ipset参数说明 Linux使用iptables封IP,是常用的应对网络攻击的方法,但要封禁成千上万个IP,如果添加成千上万条规则,对机器性能影响较大, ...
- 二十三、python中的time和datetime模块
A.time模块 1. sleep():强制等待 import timeimport datetime print("start to sleep.....")time.sle ...