全面解析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 引发两次$(document.ready)事件
Jan 15 Javascript
细说浏览器特性检测(2)-通用事件检测
Nov 05 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
Jul 23 Javascript
为jQuery添加Webkit的触摸的方法分享
Feb 02 Javascript
详细谈谈AngularJS的子级作用域问题
Sep 05 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
Jul 19 Javascript
Vue递归实现树形菜单方法实例
Nov 06 Javascript
详解Vue中watch对象内属性的方法
Feb 01 Javascript
微信小程序实现蒙版弹出窗功能
Sep 17 Javascript
原生js实现无缝轮播图
Jan 11 Javascript
在Vue中使用Select选择器拼接label的操作
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
自己做矿石收音机
2021/03/02 无线电
怎样辨别一杯好咖啡
2021/03/03 新手入门
笑谈配置,使用Smarty技术
2007/01/04 PHP
php中用文本文件做数据库的实现方法
2008/03/27 PHP
浅谈php优化需要注意的地方
2014/11/27 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
js实现仿QQ秀换装效果的方法
2015/03/04 Javascript
Javascript验证方法大全
2015/09/21 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
python内存管理分析
2015/04/08 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
Python远程linux执行命令实现
2020/11/11 Python
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
求职简历中个人的自我评价
2013/12/01 职场文书
人事部主管岗位职责
2013/12/26 职场文书
中专自我鉴定
2014/02/05 职场文书
毕业晚会主持词
2014/03/24 职场文书
授权委托书样本
2014/09/25 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers