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


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支持firefox,ie7页面布局拖拽效果代码
Dec 20 Javascript
用javascript获取textarea中的光标位置
May 06 Javascript
杨氏矩阵查找的JS代码
Mar 21 Javascript
javascript贪吃蛇完整版(源码)
Dec 09 Javascript
为jQuery添加Webkit的触摸的方法分享
Feb 02 Javascript
7个JS基础知识总结
Mar 05 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
Jun 07 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
Feb 07 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
Mar 08 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
Mar 09 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
Jun 26 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
Oct 23 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
基于pear auth实现登录验证
2010/02/26 PHP
php中将网址转换为超链接的函数
2011/09/02 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
2018/06/20 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
根据json字符串生成Html的一种方式
2013/01/09 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
jquery插件jquery.confirm弹出确认消息
2015/12/22 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
如何查看python关键字
2021/01/17 Python
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
社区爱国卫生月活动总结
2014/06/30 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书
升职自荐信范文
2015/03/27 职场文书
借款民事起诉状范文
2015/05/19 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫