全面解析DOM操作和jQuery实现选项移动操作代码分享


Posted in Javascript onJune 07, 2016

DOM:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-">
<title>DOM选项移动操作</title>
<style>
select {
width: px;
height: px;
}
div {
display: inline-block;
width: px
}
</style>
</head>
<body>
<select id="unsel" size="" multiple><option>Argentina</option><option>Brazil</option><option>Canada</option><option>Chile</option><option>China</option><option>Cuba</option><option>Denmark</option><option>Egypt</option><option>France</option><option>Greece</option><option>Spain</option></select>
<div>
<button onclick="move(this.innerHTML)">>></button>
<button onclick="move(this.innerHTML)">></button>
<button onclick="move(this.innerHTML)"><</button>
<button onclick="move(this.innerHTML)"><<</button>
</div>
<select id="sel" size="" multiple>
</select>
<script>
function $(id){
return document.getElementById(id);
}
var unsel=null;//保存所有备选国家列表
var sel=[];//保存已选中的国家列表
window.onload=function(){
unsel=$("unsel").innerHTML
.replace(/<\/?option>/g," ")
.match(/\b[a-zA-Z]+\b/g);
}
function move(inner){
switch (inner){
case ">>"://全部右移
sel=sel.concat(unsel);
unsel.length=;
sel.sort();
break;
case "<<"://全部左移
unsel=unsel.concat(sel);
sel.length=;
unsel.sort();
break;
case ">"://选中项右移
var opts=document.querySelectorAll("#unsel option");
//从后向前遍历每个option
for(var i=opts.length-;i>=;i--){
if(opts[i].selected){
//删除unsel中i位置的个元素,直接压入sel
sel.push(unsel.splice(i,)[]);
}
}
sel.sort();
break;
case "<"://选中项左移
var opts=document.querySelectorAll("#sel option");
for(var i=opts.length-;i>=;i--){
if(opts[i].selected){
unsel.push(sel.splice(i,)[]);
}
}
unsel.sort();
break;
}
show();
}
function show(){//将两个数组,更新到select元素中
$("unsel").innerHTML="<option>"
+unsel.join("</option><option>")
+"</option>";
$("sel").innerHTML="<option>"
+sel.join("</option><option>")
+"</option>";
}
</script>
</body>
</html>

jquery:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-">
<title>选项移动操作</title>
<script src="jquery.min.js"></script>
<style>
select {
width: px;
height: px;
}
div {
display: inline-block;
width: px
}
</style>
</head>
<body>
<select id="first" size="" multiple>
<option>Argentina</option>
<option>Brazil</option>
<option>Canada</option>
<option>Chile</option>
<option>China</option>
<option>Cuba</option>
<option>Denmark</option>
<option>Egypt</option>
<option>France</option>
<option>Greece</option>
<option>Spain</option>
</select>
<div>
<button id="add">></button>
<button id="add_all">>></button>
<button id="remove"><</button>
<button id="remove_all"><<</button>
</div>
<select id="second" size="" multiple>
</select>
<script>
$("#add").click(function(){
// 将左边被选中的选项,移到右边去
$("#first>option:selected").appendTo($("#second"));
});
$("#add_all").click(function(){
$("#first>option").appendTo($("#second"));
});
$("#remove").click(function(){
$("#second>option:selected").appendTo($("#first"));
});
$("#remove_all").click(function(){
$("#second>option").appendTo($("#first"));
});
// 双击事件
$("#first").dblclick(function(){
$("#first>option:selected").appendTo($("#second"));
});
$("#second").dblclick(function(){
$("#second>option:selected").appendTo($("#first"));
});
</script>
</body>
</html>

以上所述是小编给大家介绍的DOM操作和jQuery实现选项移动操作代码分享的全部内容,希望对大家有所帮助!

Javascript 相关文章推荐
js类中获取外部函数名的方法
Aug 19 Javascript
jquery中load方法的用法及注意事项说明
Feb 22 Javascript
查询json的数据结构的8种方式简介
Mar 10 Javascript
JS实现div居中示例
Apr 17 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
js实现温度计时间样式代码分享
Aug 21 Javascript
原生js配合cookie制作保存路径的拖拽
Dec 29 Javascript
webpack教程之webpack.config.js配置文件
Jul 05 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
Jun 07 Javascript
微信小程序支付PHP代码
Aug 23 Javascript
js实现随机点名程序
Sep 17 Javascript
JavaScript快速调试的两个技巧
Nov 04 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
Apr 20 #Javascript
Javascript之Date对象详解
Jun 07 #Javascript
批量下载对路网图片并生成html的实现方法
Jun 07 #Javascript
javascript之Boolean类型对象
Jun 07 #Javascript
jQuery简单实现仿京东分类导航层效果
Jun 07 #Javascript
javascript之Array 数组对象详解
Jun 07 #Javascript
JavaScript语言精粹经典实例(整理篇)
Jun 07 #Javascript
You might like
解析zend Framework如何自动加载类
2013/06/28 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
PHP7 新增常量
2021/03/09 PHP
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
React中的render何时执行过程
2018/04/13 Javascript
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
用python登录Dr.com思路以及代码分享
2014/06/25 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
python读取Kafka实例
2019/12/23 Python
浅谈pytorch中的BN层的注意事项
2020/06/23 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
生育关怀行动实施方案
2014/03/26 职场文书
公司应聘求职信
2014/06/21 职场文书
纪律教育月活动总结
2014/08/26 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
个人工作总结范文2014
2014/11/07 职场文书
项目经理岗位职责
2015/01/31 职场文书
2015年工会工作总结
2015/03/30 职场文书
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫
浅谈Redis缓冲区机制
2022/06/05 Redis
MySQL外键约束(Foreign Key)案例详解
2022/06/28 MySQL