jquery.alert 弹出式复选框实现代码


Posted in Javascript onJune 15, 2009

//jQuery Alert Dialogs Plugin Version 1.0
//插件下载地址:http://abeautifulsite.net/notebook/87
自身的原方法为:

// Usage: 
// jAlert( message, [title, callback] ) 
// jConfirm( message, [title, callback] ) 
// jPrompt( message, [value, title, callback] ) 
1.新加一个multicheckbox 的公共方法: 
// Public methods 
multicheckbox : function (message, value, title, callback) { 
if (title == null ) title = 'multicheckbox '; 
$.alerts._show(title, message, value, 'multicheckbox ', function (result) { 
if (callback) callback(result); 
}); 
},

2 .在私有方法_show:function (title, msg, value, type, callback){...} 中增加对multicheckbox 的控制:
// Private methods
------------------------ 关键部分 ------------------------------
case 'multicheckbox' :
$("#popup_message" ).append(value).after('<div id="popup_panel"> <span id="checkall" style="cursor:pointer;border:1px solid #FFCC35;font-family:宋体;font-weight:bold;background-color:#FFFF99;color:#0000CC;margin:3px;padding:3px 10px 3px 10px;">全选</span>      <span id="popup_ok" style="cursor:pointer;border:1px solid #CF4342;font-family:宋体;font-weight:bold;background-color:#DFF1FF;color:#CF4342;margin:3px;padding:3px 10px 3px 10px;">确定</span> <span id="popup_cancel" style="cursor:pointer;border:1px solid #CF4342;font-family:宋体;font-weight:bold;background-color:#DFF1FF;color:#0000CC;margin:3px;padding:3px 10px 3px 10px;">取消</span></div> ');
var $spanHover = $("#dialog span" );
$spanHover.hover(
function () {$(this ).addClass("spanmousehover" );},
function () {$(this ).removeClass("spanmousehover" );}
);
$("#checkall" ).click(function () {
if ($("#checkall" ).html() == "全选" ) {
$("#dialog input" ).each(function () {$(this ).attr("checked" , true );});
$("#checkall" ).html("取消全选" );
}
else {
$("#dialog input" ).each(function () {$(this ).attr("checked" , false);});
$("#checkall" ).html("全选" );
}
});
$("#delcheckall" ).click(function () {
$("#dialog input" ).each(function () {$(this ).attr("checked" , false );});
});
$("#popup_ok" ).click(function () {
var getAll = "";
var test = $('#dialog input' ).each(function () {if (this .checked) {getAll += $(this ).val() + ',';}});
var valback = getAll.substring(0, getAll.length - 1);//去掉最后一个','号
$.alerts._hide();
$("#ctl00_ContentPlaceHolder_main_TextBox_recever_sel" ).blur();
if (callback) callback(valback);// 在单击确定后将所有选中的内容回传到输入框中
});
$("#popup_cancel" ).click(function() {
$.alerts._hide();
$("#ctl00_ContentPlaceHolder_main_TextBox_recever_sel" ).blur();
if (callback) callback(null);
});
/ /----------------------------------------------------------------------
在 // Shortuct functions 中增加如下名称:
jMulticheckbox = function (message, value, title, callback) {
$.alerts.multicheckbox(message, value, title, callback);
};
3 .在前段代码的input 输入框(或asp:TextBox )的onfocus 属性中调用如下脚本:
jMulticheckbox('' , '<% = allcheckinfo.ToString() %> ' , '请选择接收部门' , function (r) {
//定义传入html元素,弹出框主标题,callback结果(即选择的内容)
if (r!=null )
$('#ctl00_ContentPlaceHolder_main_TextBox_recever_sel' ).val(r);
});
其 中"allcheckinfo.ToString() "可以为后台从相应的业务逻辑中取出的结果,如:
StringBuilder allinfo = new StringBuilder ("" );
allinfo.Append("<div id=\"dialog\" style=\"padding:0; margin:0;height:250px;width:280px;text-align:left;line-height:20px;overflow:auto\"> " );
...
while (OracleDataReader.Read())
{
string bumeninfo = oradr[0 ].ToString();
allinfo.Append("<span class=\"spanmouse\"><input name=\"chk1\" type=\"checkbox\" id=\"c" + flag + "\" value=\"" + bumeninfo + "\" /><label for=\"c" + flag + "\">" + bumeninfo + "</label></span><br />" );
}
...
allinfo.Append("</div>" );
即 将<div>...</div> 返回给JS,最后效果如下:
jquery.alert 弹出式复选框实现代码 
Javascript 相关文章推荐
List all the Databases on a SQL Server
Jun 21 Javascript
jquery获取当前点击对象的value方法
Feb 28 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
Nov 12 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 Javascript
js实现新年倒计时效果
Dec 10 Javascript
BootStrap中Tab页签切换实例代码
May 30 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
Jul 07 Javascript
ES6正则的扩展实例详解
Apr 25 Javascript
JS实现简易的图片拖拽排序实例代码
Jun 09 Javascript
基于Vue开发数字输入框组件
Dec 19 Javascript
Vue header组件开发详解
Jan 26 Javascript
一起来看看Vue的核心原理剖析
Mar 24 Vue.js
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
Jun 14 #Javascript
FireFox JavaScript全局Event对象
Jun 14 #Javascript
Javascript 错误处理的几种方法
Jun 13 #Javascript
Javascript 学习书 推荐
Jun 13 #Javascript
javascript 框架小结 个人工作经验
Jun 13 #Javascript
动态刷新 dorado树的js代码
Jun 12 #Javascript
firefo xml 读写实现js代码
Jun 11 #Javascript
You might like
php数组的一些常见操作汇总
2011/07/17 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
jquery表单验证实例仿Toast提示效果
2017/03/03 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
python快速排序代码实例
2013/11/21 Python
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
Python创建文件和追加文件内容实例
2014/10/21 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
浅谈Python实现2种文件复制的方法
2018/01/19 Python
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
python+Django实现防止SQL注入的办法
2019/10/31 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
.net工程师笔试题
2012/06/09 面试题
十一个高级MySql面试题
2014/10/06 面试题
荷叶圆圆教学反思
2014/02/01 职场文书
法定代表人授权委托书
2014/04/04 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
优秀乡村医生事迹材料
2014/05/28 职场文书
供电工程专业求职信
2014/08/09 职场文书
2015毕业寄语大全
2015/02/26 职场文书
获奖感言怎么写
2015/07/31 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python