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


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中alert弹出窗口文本换行问题简单详细说明
Dec 11 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
Dec 14 Javascript
JavaScript判断是否为数字的4种方法及效率比较
Apr 01 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
Jun 12 Javascript
使用jsonp实现跨域获取数据实例讲解
Dec 25 Javascript
JS时间控制实现动态效果的实例讲解
Jul 31 Javascript
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
Javascript中JSON数据分组优化实践及JS操作JSON总结
Dec 22 Javascript
JS实现的集合去重,交集,并集,差集功能示例
Mar 13 Javascript
发布Angular应用至生产环境的方法
Dec 10 Javascript
vue 实现路由跳转时更改页面title
Nov 05 Javascript
微信小程序实现下拉加载更多商品
Dec 29 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
基于jQuery的js分页代码
2010/06/10 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
jQuery实现分隔条左右拖动功能
2015/11/21 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
使用javascript插入样式
2016/03/14 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL
SQL Server基本使用和简单的CRUD操作
2021/04/05 SQL Server