全面解析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 相关文章推荐
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
Nov 30 Javascript
jquery scroll()区分横向纵向滚动条的方法
Apr 04 Javascript
初识Node.js
Mar 20 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
Dec 14 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
Aug 11 Javascript
angularjs 源码解析之scope
Aug 22 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
Jan 06 Javascript
深入理解Javascript中的观察者模式
Feb 20 Javascript
JS实现的自动打字效果示例
Mar 10 Javascript
node结合swig渲染摸板的方法
Apr 11 Javascript
深入浅析var,let,const的异同点
Aug 07 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 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
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
Smarty模板快速入门
2007/01/04 PHP
php数据库密码的找回的步骤
2011/01/12 PHP
php 生成短网址原理及代码
2014/01/23 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
js获取提交的字符串的字节数
2009/02/09 Javascript
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
jQuery 选择器理解
2010/03/16 Javascript
javascript dom代码应用 简单的相册[firefox only]
2010/06/12 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
python 将字符串转换成字典dict的各种方式总结
2018/03/23 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
基于python实现查询ip地址来源
2020/06/02 Python
python怎么调用自己的函数
2020/07/01 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
python中实现词云图的示例
2020/12/19 Python
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
社区安全生产月活动总结
2014/07/05 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
2015年银行柜员工作总结报告
2015/04/01 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
企业管理不到位检讨书
2019/06/27 职场文书