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


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 DOM学习第一章 W3C DOM简介
Feb 19 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
Jan 06 Javascript
js 数值转换为3位逗号分隔的示例代码
Feb 19 Javascript
JavaScript极简入门教程(三):数组
Oct 25 Javascript
JQuery鼠标移到小图显示大图效果的方法
Jun 10 Javascript
简单介绍JavaScript中字符串创建的基本方法
Jul 07 Javascript
flexslider.js实现移动端轮播
Feb 05 Javascript
js实现横向拖拽导航条功能
Feb 17 Javascript
浅谈Vue数据绑定的原理
Jan 08 Javascript
Ajax获取node服务器数据的完整步骤
Sep 20 Javascript
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
javascript中Set、Map、WeakSet、WeakMap区别
Dec 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
用Flash图形化数据(一)
2006/10/09 PHP
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
PHP精确计算功能示例
2016/11/29 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
浅析Python 中整型对象存储的位置
2016/05/16 Python
Python 3中的yield from语法详解
2017/01/18 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
python pygame模块编写飞机大战
2018/11/20 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
2014年教师节活动总结
2014/08/29 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python
使用javascript解析二维码的三种方式
2021/11/11 Javascript