全面解析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广告代码
May 30 Javascript
JS操作Cookies包括(读取添加与删除)
Dec 26 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
Aug 08 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
Aug 22 Javascript
javascript 闭包详解
Jul 02 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 Javascript
详解JavaScript中的构造器Constructor模式
Jan 14 Javascript
Js自定义多选框效果的实例代码
Jul 05 Javascript
vue2.0 datepicker使用方法
Feb 04 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
Dec 20 Javascript
vue+elementUI实现表格关键字筛选高亮
Oct 26 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将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
PHP整合PayPal支付
2015/06/11 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
python list中append()与extend()用法分享
2013/03/24 Python
python optparse模块使用实例
2015/04/09 Python
python中随机函数random用法实例
2015/04/30 Python
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
python将.ppm格式图片转换成.jpg格式文件的方法
2018/10/27 Python
Python 处理图片像素点的实例
2019/01/08 Python
Python实现FTP文件传输的实例
2019/07/07 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
Why do we need Unit test
2013/01/03 面试题
大学自我评价
2014/02/12 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
房屋所有权证明
2014/10/20 职场文书
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python