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


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 相关文章推荐
showModelessDialog()使用详解
Sep 21 Javascript
JavaScript插件化开发教程 (一)
Jan 27 Javascript
浅谈javascript的调试
Jan 28 Javascript
微信小程序 前端源码逻辑和工作流详解
Oct 08 Javascript
微信小程序 wxapp内容组件 progress详细介绍
Oct 31 Javascript
jquery网页日历显示控件calendar3.1使用详解
Nov 24 Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 Javascript
JavaScript的六种继承方式(推荐)
Jun 26 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
Feb 24 jQuery
React传值 组件传值 之间的关系详解
Aug 26 Javascript
在layui中select更改后生效的方法
Sep 05 Javascript
javascript解析json格式的数据方法详解
Aug 07 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投票系统防刷票判断流程分析
2012/02/04 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
php建立Ftp连接的方法
2015/03/07 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
浅谈Javascript事件模拟
2012/06/27 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
有效提高JavaScript执行效率的几点知识
2015/01/31 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
python实现计算倒数的方法
2015/07/11 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
Django接收自定义http header过程详解
2019/08/23 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
postman和python mock测试过程图解
2020/02/22 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
旅游管理实习自我鉴定
2013/09/29 职场文书
表扬信格式
2014/01/12 职场文书
保险公司晨会主持词
2014/03/22 职场文书
先进事迹材料范文
2014/12/29 职场文书