全面解析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 相关文章推荐
jQuery对象[0]是什么含义?
Jul 31 Javascript
jQuery.validate 常用方法及需要注意的问题
Mar 20 Javascript
JS文本框默认值处理详解
Jul 10 Javascript
jquery 通过name快速取值示例
Jan 24 Javascript
BootStrap glyphicons 字体图标实现方法
May 01 Javascript
jQuery 获取页面li数组并删除不在数组中的key
Aug 02 Javascript
简述vue中的config配置
Jan 23 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
跟混乱的页面弹窗说再见
Apr 11 Javascript
JS中如何轻松遍历对象属性的方式总结
Aug 06 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
vue实现倒计时功能
Mar 24 Vue.js
全面解析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 curl 获取https请求的2种方法
2015/04/27 PHP
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
jQuery Checkbox 全选 反选的简单实例
2016/11/29 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
layui富文本编辑器前端无法取值的解决方法
2019/09/18 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
js回到页面指定位置的三种方式
2020/12/17 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
python读写ini配置文件方法实例分析
2015/06/30 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
python合并同类型excel表格的方法
2018/04/01 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
美国豪华时尚女性精品店:Kirna Zabête
2018/01/11 全球购物
俞敏洪一分钟演讲稿
2014/08/26 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
父亲节活动总结
2015/02/12 职场文书
九年级数学教学反思
2016/02/17 职场文书
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电