全面解析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 实现AJAX加载XML并解析的脚本
Jul 25 Javascript
JavaScript DOM学习第四章 getElementByTagNames
Feb 19 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
Nov 19 Javascript
javascript模块化简单解析
Apr 07 Javascript
手机Web APP如何实现分享多平台功能
Aug 19 Javascript
Vue 中批量下载文件并打包的示例代码
Nov 20 Javascript
AngularJS日期格式化常见操作实例分析
May 17 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
JavaScript函数定义方法实例详解
Mar 05 Javascript
es6 symbol的实现方法示例
Apr 02 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
Jun 24 Javascript
Vue深入理解插槽slot的使用
Aug 05 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 SEO优化之URL优化方法
2011/04/21 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
2013/12/25 PHP
php使用curl访问https示例分享
2014/01/17 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
2016/05/07 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
js使用i18n实现页面国际化的方法
2017/05/09 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
Vue中的组件及路由使用实例代码详解
2019/05/22 Javascript
python根据路径导入模块的方法
2014/09/30 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
简单了解python的内存管理机制
2019/07/08 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
基于PyTorch中view的用法说明
2021/03/03 Python
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
爱普生美国官网:Epson美国
2018/11/05 全球购物
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
90后毕业生的求职信范文
2013/09/21 职场文书
房地产推广策划方案
2014/05/19 职场文书
感恩教师节演讲稿
2014/09/03 职场文书
小学优秀班主任材料
2014/12/17 职场文书