全面解析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中定义方法的另类写法(批量定义js对象的方法)
Feb 25 Javascript
js 赋值包含单引号双引号问题的解决方法
Feb 26 Javascript
node.js中的buffer.toString方法使用说明
Dec 14 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 Javascript
js仿淘宝和百度文库的评分功能
May 15 Javascript
socket.io实现在线群聊功能
Apr 07 Javascript
jQuery实现的电子时钟效果完整示例
Apr 28 jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
vue按需加载实例详解
Sep 06 Javascript
微信小程序 select 下拉框组件功能
Sep 09 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 Javascript
微信小程序入门之指南针
Oct 22 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 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
php实现的日历程序
2015/06/18 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
python scipy卷积运算的实现方法
2019/09/16 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
如何利用python发送邮件
2020/09/26 Python
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
管理学专业个人求职信范文
2013/09/21 职场文书
毕业生怎样写好自荐信
2013/11/11 职场文书
施工安全协议书
2013/12/11 职场文书
通用自荐信范文
2014/03/14 职场文书
阳光体育活动总结
2014/04/30 职场文书
安全生产计划书
2014/05/04 职场文书
社团活动总结报告
2014/06/27 职场文书
工作推荐信模板
2015/03/25 职场文书
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL