全面解析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 相关文章推荐
在Node.js中使用HTTP上传文件的方法
Jun 23 Javascript
Node.js中的process.nextTick使用实例
Jun 25 Javascript
canvas实现手机端用来上传用户头像的代码
Oct 20 Javascript
Angular中使用$watch监听object属性值的变化(详解)
Apr 24 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
Jul 10 Javascript
微信小程序获取手机号授权用户登录功能
Nov 09 Javascript
angularJS的radio实现单项二选一的使用方法
Feb 28 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
Aug 15 Javascript
vue实现随机验证码功能(完整代码)
Dec 10 Javascript
微信小程序返回上一页传参并刷新过程解析
Dec 13 Javascript
JS轻量级函数式编程实现XDM二
Jun 16 Javascript
Promise静态四兄弟实现示例详解
Jul 07 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
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
Laravel框架源码解析之模型Model原理与用法解析
2020/05/14 PHP
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
2016/05/18 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
vue上传图片组件编写代码
2017/07/26 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
python url 参数修改方法
2018/12/26 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
用python解压分析jar包实例
2020/01/16 Python
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
汽车专业学生自我评价
2014/01/19 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
商超业务员岗位职责
2015/02/13 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
python flask开发的简单基金查询工具
2021/06/02 Python