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 相关文章推荐
Ajax+Json 级联菜单实现代码
Oct 27 Javascript
JavaScript格式化数字的函数代码
Nov 30 Javascript
js判断两个日期是否相等的方法
Sep 10 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 Javascript
原生javascript实现解析XML文档与字符串
Mar 01 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
Oct 27 Javascript
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
Sep 08 Javascript
详解Vue双向数据绑定原理解析
Sep 11 Javascript
Vue数字输入框组件的使用方法
Oct 19 Javascript
JavaScript仿京东秒杀倒计时
Mar 17 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 Javascript
JavaScript中关于预编译、作用域链和闭包的理解
Mar 31 Javascript
论坛里点击别人帖子下面的回复,回复标题变成“回复 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/01/13 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
jquery select选中的一个小问题
2009/10/11 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
javascript、php关键字搜索函数的使用方法
2018/05/29 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
Python异常的检测和处理方法
2018/10/26 Python
Python多图片合并PDF的方法
2019/01/03 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
使用npy转image图像并保存的实例
2020/07/01 Python
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
应届生幼儿园求职信
2013/11/12 职场文书
竞聘书模板
2014/03/31 职场文书
水利水电专业自荐信
2014/07/08 职场文书
2014年统计工作总结
2014/11/21 职场文书
员工自我评价范文
2015/03/11 职场文书
优秀教师工作总结2015
2015/07/22 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
在pycharm中无法import所安装的库解决方案
2021/05/31 Python
解析MySQL binlog
2021/06/11 MySQL
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python