一个简单的实现下拉框多选的插件可移植性比较好


Posted in Javascript onMay 05, 2014

在使用上次写的一个多先下拉框时,我发现了很多问题,经过修改和完善后,现在已经能够很好地使用了,且可移植性也比较好,下面是源代码。

js

(function(){ $.fn.extend({ 
checks_select: function(options){ 
jq_checks_select = null; 
$(this).val("---请选择---"); 
$(this).next().empty(); //先清空 
$(this).unbind("click"); 
$(this).click(function(e){ 
jq_check = $(this); 
//jq_check.attr("class", ""); 
if (jq_checks_select == null) { 
jq_checks_select = jq_check.next(); 
jq_checks_select.addClass("checks_div_select"); 
//jq_checks_select = $("<div class='checks_div_select'></div>").insertAfter(jq_check); 
$.each(options, function(i, n){ 
check_div=$("<div><input type='checkbox' value='" + n + "'>" + n + "</div>").appendTo(jq_checks_select); 
check_box=check_div.children(); 
check_box.click(function(e){ 
//jq_check.attr("value",$(this).attr("value") ); 
temp=""; 
$(this).parents().find("input:checked").each(function(i){ 
if(i==0){ 
temp=$(this).val(); 
}else{ 
temp+=","+$(this).val(); 
} 
}); 
//alert(temp); 
jq_check.val(temp); 
e.stopPropagation(); 
}); 
}); 
jq_checks_select.show(); 
}else{ 
jq_checks_select.toggle(); 
} 
e.stopPropagation(); 
}); 
$(document).click(function () { 
flag=$("#test_div"); 
if(flag.val()==""){ 
flag.val("---请选择---"); 
} 
jq_checks_select.hide(); 
}); 
//$(this).blur(function(){ 
//jq_checks_select.css("visibility","hidden"); 
//alert(); 
//}); 
} 
}) 
})(jQuery);

html
<html> 
<head> 
<script type="text/javascript" src="js/jquery.js"> 
</script> 
<script type="text/javascript" src="js/jquery_mutili.js"> 
</script> 
<script language="javascript"> 
$(document).ready(function(){ 
var options = { 
1: "第一个选择项", 
2: "第二个选择项", 
3: "第三个选择项", 
4: "第四个选择项", 
5: "第五个选择项", 
6: "第六个选择项" 
}; 
$("#test_div").checks_select(options); 
}); 
</script> 
<style> 
.checks_div_select { 
width: 150px; 
background-color: #e9fbfb; 
border: 1px solid #18cbcd; 
font-family: 'Verdana', '宋体'; 
font-size: 12px; 
position:absolute; 
left:2px; 
top:25px; 
} 
</style> 
</head> 
<body> 
<div style="position:relative;"> 
<input type="text" id="test_div" readonly="readonly"/> 
<div></div> 
</div> 
</body> 
</html>

一个简单的实现下拉框多选的插件可移植性比较好
Javascript 相关文章推荐
jquery 模拟类搜索框自动完成搜索提示功能(改进)
May 24 Javascript
JSONP 跨域访问代理API-yahooapis实现代码
Dec 02 Javascript
jquery 触发a链接点击事件解决方案
May 02 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
May 11 Javascript
基于Vuejs实现购物车功能
Aug 02 Javascript
Vue2.0使用过程常见的一些问题总结学习
Apr 10 Javascript
Jquery把获取到的input值转换成json
May 15 jQuery
JS实现图片预览的两种方式
Jun 27 Javascript
每周一练 之 数据结构与算法(Stack)
Apr 16 Javascript
JS实现基本的网页计算器功能示例
Jan 16 Javascript
详解用js代码触发dom事件的实现方案
Jun 10 Javascript
vue addRoutes路由动态加载操作
Aug 04 Javascript
javascript生成随机颜色示例代码
May 05 #Javascript
借助javascript代码判断网页是静态还是伪静态
May 05 #Javascript
javascript中的nextSibling使用陷(da)阱(keng)
May 05 #Javascript
利用函数的惰性载入提高javascript代码执行效率
May 05 #Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
May 05 #Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 #Javascript
javascript 获取元素样式必杀技
May 04 #Javascript
You might like
关于PHP堆栈与列队的学习
2013/06/21 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
PHP简单选择排序算法实例
2015/01/26 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
2011/12/20 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
Python实现的多线程端口扫描工具分享
2015/01/21 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
python 内置模块详解
2019/01/01 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
2014年学生会主席工作总结
2014/11/07 职场文书
python中如何对多变量连续赋值
2021/06/03 Python
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技
delete in子查询不走索引问题分析
2022/07/07 MySQL