全面解析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 sudoku 数独智力游戏生成代码
Mar 27 Javascript
js打印纸函数代码(递归)
Jun 18 Javascript
Javascript事件热键兼容ie|firefox
Dec 30 Javascript
js arguments对象应用介绍
Nov 28 Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 Javascript
js格式化时间和js格式化时间戳示例
Feb 10 Javascript
jQuery实现高亮显示的方法
Mar 10 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
May 19 Javascript
js常用的继承--组合式继承
Mar 06 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
微信小程序分包加载代码实现方法详解
Sep 23 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
May 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
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
JavaScript模拟push
2016/03/06 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
使用Python中的cookielib模拟登录网站
2015/04/09 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python将回车作为输入内容的实例
2018/06/23 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
Python线程之定位与销毁的实现
2019/02/17 Python
pytorch中的inference使用实例
2020/02/20 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
如何教少儿学习Python编程
2020/07/10 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
程序集与命名空间有什么不同
2014/07/25 面试题
4s客服专员岗位职责
2013/12/01 职场文书
员工晚婚的请假条
2014/02/08 职场文书
协议书与合同的区别
2014/04/18 职场文书
安全技术说明书
2014/05/09 职场文书
企业年度评优方案
2014/06/02 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
Javascript之datagrid查询详解
2021/09/15 Javascript
node快速搭建后台的实现步骤
2022/02/18 NodeJs