全面解析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 相关文章推荐
Web前端设计模式  制作漂亮的弹出层
Oct 29 Javascript
Javascript实现滑块滑动改变值的实现代码
Apr 12 Javascript
JS实现多物体缓冲运动实例代码
Nov 29 Javascript
jQuery获取当前对象标签名称的方法
Feb 07 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
Feb 27 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
Mar 17 Javascript
js实现随机数字字母验证码
Jun 19 Javascript
详解Angular5 服务端渲染实战
Jan 04 Javascript
JS 实现百度搜索功能
Feb 01 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
May 12 Javascript
重置Redux的状态数据的方法实现
Nov 18 Javascript
JS实现按比例缩小图片宽高
Aug 24 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
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
js获取单选框或复选框值及操作
2012/12/18 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python argv用法详解
2016/01/08 Python
python中文编码与json中文输出问题详解
2018/08/24 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
英国Office鞋店德国网站:在线购买鞋子、靴子和运动鞋
2018/12/19 全球购物
印度第一网上礼品店:IGP.com
2020/02/06 全球购物
儿科主治医生个人求职信
2013/09/23 职场文书
数控专业应届生求职信
2013/11/27 职场文书
测试工程师岗位职责
2013/11/28 职场文书
会计专业自荐信
2013/12/02 职场文书
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
买卖车协议书
2014/04/21 职场文书
小学数学课题方案
2014/06/15 职场文书
微笑服务标语
2014/06/24 职场文书
2015年采购员工作总结
2015/04/27 职场文书
黄埔军校观后感
2015/06/10 职场文书
预备党员入党感言
2015/08/01 职场文书
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python