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


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 事件处理、鼠标拖动效果实现方法详解
May 11 Javascript
jQuery中获取Radio元素值的方法
Jul 02 Javascript
js截取固定长度的中英文字符的简单实例
Nov 22 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
Nov 04 Javascript
jQuery使用之标记元素属性用法实例
Jan 19 Javascript
浅谈Sizzle的“编译原理”
Apr 14 Javascript
基于JavaScript实现瀑布流布局(二)
Jan 26 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
Apr 01 Javascript
JavaScript浏览器对象之一Window对象详解
Jun 03 Javascript
从0开始学Vue
Oct 27 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
May 29 Javascript
Vue2.0 $set()的正确使用详解
Jul 28 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
2015/03/05 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
关于Keras Dense层整理
2020/05/21 Python
python自定义函数def的应用详解
2020/06/03 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
英国知名奢侈品包包品牌:Milli Millu
2016/12/22 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
酒店总经理欢迎词
2014/01/08 职场文书
小学数学国培感言
2014/03/10 职场文书
中餐厅经理岗位职责
2014/04/11 职场文书
刘公岛导游词
2015/02/05 职场文书
会计工作能力自我评价
2015/03/05 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
Java实现多线程聊天室
2021/06/26 Java/Android
nginx配置之并发频次限制
2022/04/18 Servers