jQuery双向列表选择器select版


Posted in Javascript onNovember 01, 2016

在上篇文章给大家介绍了div模拟版链接:https://3water.com/article/96211.htm,如果大家感兴趣可以参考下。

jQuery双向列表选择器select版

这个是select版的,若想美化某些样式是不支持得,可以用div模拟版的,功能基本实现能用了,需要其他功能自己加上。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>双向列表选择器select版</title>
<script type="text/javascript" src="../public/jquery-1.8.2.js"></script>
<script type="text/javascript">
/**
* two_way_list_selector.js - v1.0.0 (2016/7/26)
*
* Allows you to easily page layout!
* by tie. qq:2185987263
*
* Copyright (C) 2016, tie.
* All rights reserved.
*
**/
var two_way_list_selector=function(o){
var obj=o;
var btn_a=o.find(".btn_a");
var btn_b=o.find(".btn_b");
var btn_c=o.find(".btn_remove_all");
var btn_d=o.find(".btn_add_all");
var select_a=o.find(".select_a");
var select_b=o.find(".select_b");
//进行排序
var option_sort=function(o){
o.html(o.find("option").toArray().sort(function(a, b){
return parseInt($(a).attr("data-index")) - parseInt($(b).attr("data-index"));
}));
obj.find("option").unbind("dblclick").dblclick(function(){
_dblclick($(this));
});
}
//在列表中双击时
var _dblclick=function(o){
var flag = o.parent().attr('class');
var a ;
if(flag == "select_a"){
a = o.clone(true);
select_b.append(a);
o.remove();
option_sort(select_b);
} else {
a = o.clone(true);
select_a.append(a);
o.remove();
option_sort(select_a);
}
}
//选项双击时
obj.find("option").dblclick(function(){
_dblclick($(this));
});
//加入选中
btn_a.click(function(){
var a = select_a.find("option:selected").clone(true);
if(a.size() == 0){
return false;
}
select_b.append(a);
select_a.find("option:selected").remove();
option_sort(select_b);
});
//删除选中
btn_b.click(function(){
var a = select_b.find("option:selected").clone(true);
if(a.size() == 0){
return false;
}
select_a.append(a);
select_b.find("option:selected").remove();
option_sort(select_a);
});
//删除全部
btn_c.click(function(){
select_a.append(select_b.find("option"));
option_sort(select_a);
});
//添加全部
btn_d.click(function(){
select_b.append(select_a.find("option"));
option_sort(select_b);
});
}
//页面加载完毕后
$(document).ready(function(e) {
two_way_list_selector($("#two_way_list_selector_a"));
two_way_list_selector($("#two_way_list_selector_b"));
});
</script>
<style type="text/css">
@charset "utf-8";
.two_way_list_selector {
width: 100%;
height: 250px;
}
.two_way_list_selector .select_l, .two_way_list_selector .select_r {
width: 40%;
height: 250px;
float: left;
border: 1px solid #CCC;
}
.two_way_list_selector .select_l .option {
height: 29px;
line-height: 29px;
border-bottom: 1px solid #ddd;
text-indent:10px;
}
.two_way_list_selector .select_l select, .two_way_list_selector .select_r select {
width: 100%;
height: 220px;
border: none;
outline: none;
}
.two_way_list_selector .select_r select {
height: 250px;
}
.two_way_list_selector .select_l select:hover, .two_way_list_selector .select_r select:hover {
border: none;
box-shadow: none;
}
.two_way_list_selector .select_l select option, .two_way_list_selector .select_r select option {
padding: 10px;
border-bottom: 1px solid #ddd;
}
.two_way_list_selector .select_l select option:last-child, .two_way_list_selector .select_r select option:last-child {
border-bottom: none;
}
.two_way_list_selector .select_btn {
width: 10%;
height: 250px;
float: left;
display: table;
text-align: center;
}
.two_way_list_selector .select_btn div {
height: 250px;
display: table-cell;
vertical-align: middle;
}
.two_way_list_selector .select_btn div input {
width: 90%;
margin: 1px;
text-align: center;
font-weight: 100;
color: #999;
}
</style>
</head>
<body>
<div id="two_way_list_selector_a" class="two_way_list_selector margin_top_10">
<div class="select_l">
<div class="option">名称</div>
<select size="5" multiple class="select_a">
<option value="1" data-index="0">1</option>
<option value="2" data-index="1">2</option>
<option value="3" data-index="2">3</option>
<option value="4" data-index="3">4</option>
<option value="5" data-index="4">5</option>
<option value="6" data-index="5">6</option>
<option value="7" data-index="6">7</option>
</select>
</div>
<div class="select_btn">
<div>
<input type="button" value=">" class="button btn_a">
<input type="button" value=">>" class="button btn_add_all">
<input type="button" value="<<" class="button btn_remove_all">
<input type="button" value="<" class="button btn_b">
</div>
</div>
<div class="select_r">
<select size="5" multiple class="select_b">
</select>
</div>
</div>
<br>
<div id="two_way_list_selector_b" class="two_way_list_selector margin_top_10">
<div class="select_l">
<div class="option">名称</div>
<select size="5" multiple class="select_a">
<option value="a" data-index="0">a</option>
<option value="b" data-index="1">b</option>
<option value="c" data-index="2">c</option>
<option value="d" data-index="3">d</option>
<option value="e" data-index="4">e</option>
<option value="f" data-index="5">f</option>
<option value="g" data-index="6">g</option>
</select>
</div>
<div class="select_btn">
<div>
<input type="button" value=">" class="button btn_a">
<input type="button" value=">>" class="button btn_add_all">
<input type="button" value="<<" class="button btn_remove_all">
<input type="button" value="<" class="button btn_b">
</div>
</div>
<div class="select_r">
<select size="5" multiple class="select_b">
</select>
</div>
</div>
</body>
</html>

以上所述是小编给大家介绍的jQuery双向列表选择器select版,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 处理事件绑定的一些兼容写法
Dec 24 Javascript
深入理解Javascript闭包 新手版
Dec 28 Javascript
面向对象的Javascript之三(封装和信息隐藏)
Jan 27 Javascript
js获取php变量的实现代码
Aug 10 Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
Mar 26 Javascript
JQuery对ASP.NET MVC数据进行更新删除
Jul 13 Javascript
json定义及jquery操作json的方法
Sep 29 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
vue中遇到的坑之变化检测问题(数组相关)
Oct 13 Javascript
微信小程序实现左右联动的实战记录
Jul 05 Javascript
微信小程序实现下拉刷新动画
Jun 21 Javascript
jQuery双向列表选择器DIV模拟版
Nov 01 #Javascript
JS button按钮实现submit按钮提交效果
Nov 01 #Javascript
Javascript 动态改变imput type属性
Nov 01 #Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
Nov 01 #Javascript
javascript 内置对象及常见API详细介绍
Nov 01 #Javascript
Vue.js组件使用开发实例教程
Nov 01 #Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
Nov 01 #Javascript
You might like
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
yii操作cookie实例简介
2014/07/09 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
jQuery操作input type=radio的实现代码
2012/06/14 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
JavaScript动态添加style节点的方法
2015/06/09 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
go和python调用其它程序并得到程序输出
2014/02/10 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
Python判断有效的数独算法示例
2019/02/23 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
Django之form组件自动校验数据实现
2020/01/14 Python
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
Hotels.com印度:酒店预订
2019/05/11 全球购物
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
行政求职信
2014/07/04 职场文书
师范生见习报告
2014/10/31 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
idea下配置tomcat避坑详解
2022/04/12 Servers