基于jquery的checkbox下拉框插件代码


Posted in Javascript onJune 25, 2010

option_check.js代码 :

/***************************************** 
调用方法为: 
Jselect($("#inputid"),{ 
bindid:'bindid', 
hoverclass:'hoverclass', 
optionsbind:function(){return hqhtml();} 
}); 
inputid为下拉框要绑定的文本框id 
bindid为点击弹出/收回下拉框的控件id 
hoverclass为鼠标移到选项时的样式 
hqhtml为绑定的数据 
******************************************/ 
(function($){ 
$.showselect = { 
init : function(o,options){ 
var defaults = { 
bindid : null, //事件绑定在bindid上 
hoverclass:null, //鼠标移到选项时样式名称 
optionsbind:function(){} //下拉框绑定函数 
} 
var options = $.extend(defaults,options); 
if(options.optionsbind!=null){//如果绑定函数不为空 
this._setbind(o,options); 
} 
if(options.bindid!=null){ 
this._showcontrol(o,options); 
} 
}, 
_showcontrol:function(o,options){//控制下拉框显示 
$("#"+options.bindid).toggle(function(){ 
$(o).next().slideDown(); 
},function(){ 
$(o).next().slideUp(); 
}) 
}, 
_setbind:function(o,options){//绑定数据 
var optionshtml="<div style=\"z-index: 999; position: absolute;\">" 
+options.optionsbind()+"</div>"; 
$(o).after(optionshtml); 
var offset= $(o).offset(); 
var w=$(o).width(); 
$(o).next().css({top:offset.top+$(o).height()+7,left:offset.left,width:w}); 
if(options.hoverclass!=null){ 
$(o).next().find("tr").hover(function(){$(this).addClass(options.hoverclass);}, 
function(){$(this).removeClass(options.hoverclass);}); 
} 
$(o).next().find("input[type=checkbox]").filter("[lang=checked]").each(function(){$(this).attr("checked","checked");}); 
$(o).next().find("input[type=checkbox]").click(function(){ 
var $ckoption=$(this).attr("checked"); 
if($ckoption){ 
$(this).attr("checked",""); 
}else{ 
$(this).attr("checked","checked"); 
} 
}); 
$(o).next().find("tr").click(function(){ 
var $ckflag=$(this).find("input[type=checkbox]"); 
if($ckflag.attr("checked")){ 
$ckflag.attr("checked",""); 
$ckflag.attr("lang",""); 
} 
else{ 
$ckflag.attr("checked","checked"); 
$ckflag.attr("lang","checked"); 
} 
var selarray=new Array(); 
$(o).next().find("input[type=checkbox]").each(function(){ 
if($(this).attr("checked")) 
selarray.push($(this).parent().next().text()); 
}); 
$(o).val(selarray.join(',')); 
}); 
$(o).next().hide(); 
} 
} 
Jselect = function(o,json){ 
$.showselect.init(o,json); 
}; 
})(jQuery);

html代码:
<script type="text/javascript" src="jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="option_check.js"></script> 
<style type="text/css"> 
.hover 
{ 
background-color: Blue; 
color: White; 
} 
</style> 
<script type="text/javascript"> 
$(function(){ 
Jselect($("#txt_wbk"),{ 
bindid:'txt_wbk', //可绑定到按钮上,此处为点击文本框显示下拉框 
hoverclass:'hover', 
optionsbind:function(){return hqhtml();} 
}); 
}) 
function hqhtml(){//此处可在数据库中取值后拼接html,注意:预选项加上 lang='checked'属性 
var optionshtml="<table style='width:100%; background-color: Red' cellpadding=\"0\" cellspacing=\"0\" >“ 




+”<tr><td style='width:20px'><input type=\"checkbox\" value='1' /></td><td>第一项</td></tr>" 

  +"<tr><td><input type=\"checkbox\" value='2' lang='checked'/></td><td>第二项</td></tr>" 

 +"<tr><td><input type=\"checkbox\" value='3' /></td><td>第三项</td></tr>" 
+"<tr><td><input type=\"checkbox\" value='4' /></td><td>第四项</td></tr></table>"; 
return optionshtml; 
} 
</script> 
<div> 
<input id="txt_wbk" type="text" style="width: 200px;" />下拉框测试 
</div>
Javascript 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
utf8的编码算法 转载
Dec 27 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
Apr 27 Javascript
jquery获取tr并更改tr内容示例代码
Feb 13 Javascript
JavaScript实现节点的删除与序号重建实例
Aug 05 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
Mar 29 Javascript
基于javascript实现tab切换特效
Mar 29 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
Aug 29 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
Dec 14 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
Jul 20 Javascript
详解angular2如何手动点击特定元素上的点击事件
Oct 16 Javascript
PM2自动部署代码步骤流程总结
Dec 10 Javascript
jquery keypress,keyup,onpropertychange键盘事件
Jun 25 #Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
Jun 25 #Javascript
javascript面向对象编程(一) 实例代码
Jun 25 #Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
Jun 25 #Javascript
jQuery对象和DOM对象使用说明
Jun 25 #Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
Jun 23 #Javascript
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 #Javascript
You might like
随机广告显示(PHP函数)
2006/10/09 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
phpfpm的作用和用法
2019/10/10 PHP
基于jquery的Repeater实现代码
2010/07/17 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
JavaScript重载函数实例剖析
2016/05/13 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
wxPython中文教程入门实例
2014/06/09 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
Python之os操作方法(详解)
2017/06/15 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
python实现淘宝秒杀脚本
2020/06/23 Python
Python 硬币兑换问题
2019/07/29 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
浅谈在django中使用redirect重定向数据传输的问题
2020/03/13 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
毕业生自荐信格式
2014/03/07 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
法人单位授权委托书范文
2014/10/06 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL