全面解析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 相关文章推荐
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
Aug 15 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
Jul 31 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
Dec 16 Javascript
JavaScript中的this关键字使用方法总结
Mar 13 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
Jan 16 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
利用Vue.js实现求职在线之职位查询功能
Jul 03 Javascript
Node.js readline模块与util模块的使用
Mar 01 Javascript
微信小程序实现天气预报功能
Jul 18 Javascript
React中阻止事件冒泡的问题详析
Apr 12 Javascript
js回溯法计算最佳旅行线路代码实例
Sep 11 Javascript
RxJS在TypeScript中的简单使用详解
Apr 13 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写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
PHP进程通信基础之信号
2017/02/19 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
jcrop基本参数一览
2013/07/16 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
python使用socket进行简单网络连接的方法
2015/04/29 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
民主生活会批评与自我批评总结
2014/10/17 职场文书
医院财务人员岗位职责
2015/04/14 职场文书
合作协议书格式范本
2016/03/21 职场文书
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript