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


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中动态效果小结
Dec 16 Javascript
什么是DOM(Document Object Model)文档对象模型
Mar 05 Javascript
JQuery加载图片自适应固定大小的DIV
Sep 12 Javascript
JQuery 使用attr方法实现下拉列表选中
Oct 13 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
Oct 31 Javascript
JS简单实现禁止访问某个页面的方法
Sep 13 Javascript
微信小程序  http请求封装详解及实例代码
Feb 15 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
ES6新特性之字符串的扩展实例分析
Apr 01 Javascript
react实现点击选中的li高亮的示例代码
May 24 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
Jul 10 Javascript
详解在React项目中安装并使用Less(用法总结)
Mar 18 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迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
php防止站外远程提交表单的方法
2014/10/20 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
win10下 php安装seaslog扩展的详细步骤
2020/12/04 PHP
img标签中onerror用法
2009/08/13 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
实例浅析js的this
2016/12/11 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
怎么使用pipenv管理你的python项目
2018/03/12 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
python远程邮件控制电脑升级版
2019/05/23 Python
python定时任务 sched模块用法实例
2019/11/04 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
建筑工程技术应届生求职信
2013/11/17 职场文书
岗位职责的构建方法
2014/02/01 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
网聊搭讪开场白
2015/05/28 职场文书
小学生运动会广播
2015/08/19 职场文书
教师网络培训心得体会
2016/01/09 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js