作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 02:32:49 阅读 我要评论

//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,最后效果如下:

  推荐阅读

  犀利的js 函数集合

那么分享几个理想状态的js原型函数。大部分整理修改自月影的blog 另外推荐一下月影的书——"王者归来",如果你每周js的coding时间大于5小时,还是值得一读的。 1.函数胶水,有很多同学用jq用习惯了,有时就为一个类>>>详细阅读


本文标题:jquery.alert 弹出式复选框实现代码

地址:http://www.17bianji.com/kaifa2/JS/28570.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)