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


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 相关文章推荐
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
Oct 11 Javascript
Javascript中的delete操作符详细介绍
Jun 06 Javascript
理解和运用JavaScript的闭包机制
Aug 13 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
May 28 Javascript
jQuery右下角悬浮广告实例
Oct 17 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
Dec 21 Javascript
webpack独立打包和缓存处理详解
Apr 03 Javascript
js 判断一个数字是不是2的n次方幂的实例
Nov 26 Javascript
react 父子组件之间通讯props
Sep 08 Javascript
微信小程序组件传值图示过程详解
Jul 31 Javascript
JS实现TITLE悬停长久显示效果完整示例
Feb 11 Javascript
移动端JS实现拖拽两种方法解析
Oct 12 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与SQL注入攻击[一]
2007/04/17 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
python类继承用法实例分析
2014/10/10 Python
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
浅析python函数式编程
2020/09/26 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
中国医药集团国药在线:国药网
2017/02/06 全球购物
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
世界上最大的售后摩托车零配件超市:J&P Cycles
2017/12/08 全球购物
木马的传播途径主要有哪些
2016/04/08 面试题
刚毕业大学生自荐信范文
2014/02/20 职场文书
装修活动策划方案
2014/08/27 职场文书
2014年护理部工作总结
2014/11/14 职场文书
公司给客户的感谢信
2015/01/23 职场文书
会计岗位工作总结
2015/08/12 职场文书
大学组织委员竞选稿
2015/11/21 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis