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


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 相关文章推荐
关于JS控制代码暂停的实现方法分享
Oct 11 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
Mar 13 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
Mar 24 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 Javascript
使用JQuery FancyBox插件实现图片展示特效
Nov 16 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
Aug 02 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
Oct 26 Javascript
微信小程序 五星评分的实现实例
Aug 04 Javascript
通过 JS 判断页面是否有滚动条的实现方法
Apr 05 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
Jan 21 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 Javascript
JS forEach跳出循环2种实现方法
Jun 24 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
eclipse php wamp配置教程
2016/06/30 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
JS trim去空格的最佳实践
2011/10/30 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Django 使用logging打印日志的实例
2018/04/28 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
MIS软件工程师的面试题
2016/04/22 面试题
高中微机老师自我鉴定
2014/02/16 职场文书
教师专业自荐信
2014/05/31 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
会议欢迎词
2015/01/23 职场文书
新郎婚礼致辞
2015/07/27 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书