全面解析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 获取LI里的内容
Dec 17 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
Apr 05 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 Javascript
javascript获得当前的信息的一些常用命令
Feb 25 Javascript
js获取Html元素的实际宽度高度的方法
May 19 Javascript
layDate插件设置开始和结束时间
Nov 15 Javascript
javascript中的event loop事件循环详解
Dec 14 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
Jan 07 Javascript
JS温故而知新之变量提升和时间死区
Jan 27 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
Sep 21 Javascript
JS简单表单验证功能完整示例
Jan 26 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
Jun 23 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垃圾回收机制简单说明
2010/07/22 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
详细讲解JS节点知识
2010/01/31 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
对dataframe进行列相加,行相加的实例
2018/06/08 Python
pycharm安装和首次使用教程
2018/08/27 Python
python aiohttp的使用详解
2019/06/20 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
鱼油专家:Omegavia
2016/10/10 全球购物
政法大学毕业生自荐信范文
2014/01/01 职场文书
期末自我鉴定
2014/01/23 职场文书
外国人聘用意向书
2014/04/01 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
写给同事的离职感言
2015/08/04 职场文书
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python