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


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操作Select的Options的Bug(IE8兼容性视图模式)
Apr 21 Javascript
js实现div闪烁原理及实现代码
Jun 24 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
Dec 29 Javascript
javascript实现label标签跳出循环操作
Mar 06 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
Nov 24 Javascript
详解Node.js项目APM监控之New Relic
May 12 Javascript
JS轮播图实现简单代码
Feb 19 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
Aug 02 Javascript
vue项目初始化到登录login页面的示例
Oct 31 Javascript
js最全的数组的降维5种办法(小结)
Apr 28 Javascript
利用H5api实现时钟的绘制(javascript)
Sep 13 Javascript
如何在 Vue 中使用 JSX
Feb 14 Vue.js
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
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
Track Image Loading效果代码分析
2007/08/13 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
Python标准库inspect的具体使用方法
2017/12/06 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
python实现门限回归方式
2020/02/29 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
python Matplotlib模块的使用
2020/09/16 Python
网游商务专员求职信
2013/10/15 职场文书
李培根演讲稿
2014/05/22 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
高三化学教学反思
2016/02/22 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL