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


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的一个拖拽到指定区域内的效果
Sep 21 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
Jan 15 Javascript
js渐变显示渐变消失示例代码
Aug 01 Javascript
简介JavaScript中toTimeString()方法的使用
Jun 12 Javascript
javascript图片预加载实例分析
Jul 16 Javascript
js实现带圆角的多级下拉菜单效果
Aug 28 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
Apr 26 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
js array数组对象操作方法汇总
Mar 18 Javascript
vue实现pdf文档在线预览功能
Nov 26 Javascript
JS前端基于canvas给图片添加水印
Nov 11 Javascript
WebRTC记录音视频流(web技术分享)
Feb 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
linux下 C语言对 php 扩展
2008/12/14 PHP
PHP 批量删除 sql语句
2009/06/05 PHP
php 图像函数大举例(非原创)
2009/06/20 PHP
php cli 方式 在crotab中运行解决
2010/02/08 PHP
基于PHP读取csv文件内容的详解
2013/06/18 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
js实例属性和原型属性示例详解
2014/11/23 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
jQuery对html元素的取值与赋值实例详解
2015/12/18 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
python机器学习之决策树分类详解
2017/12/20 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
软件测试英文面试题
2012/10/14 面试题
学前教育求职自荐信范文
2013/12/25 职场文书
校园新闻广播稿
2014/01/10 职场文书
酒店开业庆典主持词
2014/03/21 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
科学育儿宣传标语
2014/10/08 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
绿色环保倡议书
2015/04/28 职场文书
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA