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


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 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
Mar 05 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
Jul 27 Javascript
如何在Linux上安装Node.js
Apr 01 Javascript
javascript 中的事件委托详解
Oct 25 Javascript
详解vue.js组件化开发实践
Dec 14 Javascript
基于jQuery实现顶部导航栏功能
Dec 27 Javascript
详解ECMAScript6入门--Class对象
Apr 27 Javascript
vue.js,ajax渲染页面的实例
Feb 11 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
Apr 01 Javascript
bootstrap下拉框动态赋值方法
Aug 10 Javascript
javascript网页随机点名实现过程解析
Oct 15 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格式化工具Beautify PHP小小BUG
2008/04/24 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
心扬JS分页函数代码
2010/09/10 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python list 合并连接字符串的方法
2013/03/09 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
什么是组件架构
2016/05/15 面试题
办公室保洁员岗位职责
2013/12/02 职场文书
学生生病请假条范文
2014/02/16 职场文书
体育口号大全
2014/06/18 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
2014年个人技术工作总结
2014/12/08 职场文书
毕业证明书
2015/06/19 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL