1.问题背景:
我想用ui-dialog来代替window.confirm.
window.confirm点击确定会返回一个值。但是ui-dialog不行,只能通过回调函数来达到目的。
2.目标:
点击ui-dialog中确定按钮要完成:关闭ui-dialog.执行回调函数
3.代替confirm的代码:
采纳的答案
- var MyUtil={};
- //--_message是要显示的信息,callback是点击确定按钮以后要执行的回调函数
- //
- HUtil.confirm=function(_message,callback) {
- var dialogId="alert_abcdef";
- $("#"+dialogId,document).get(0).innerHTML=_message;
- $("#"+dialogId,document).dialog({
- modal: true,
- buttons: {
- "确定": function(){
- callback();//这里肯定不对!!!!!
- $(this).dialog("close");
- },
- "取消": function(){
- $(this).dialog("close");
- }
- }
- });
- }
修改为
- var MyUtil={};
- //--_message是要显示的信息,callback是点击确定按钮以后要执行的回调函数
- //
- HUtil.confirm=function(_message,callback) {
- var dialogId="alert_abcdef";
- $("#"+dialogId,document).get(0).innerHTML=_message;
- $("#"+dialogId,document).dialog({
- modal: true,
- buttons: {
- "确定": function(){
- callback.call();
- $(this).dialog("close");
- },
- "取消": function(){
- $(this).dialog("close");
- }
- }
- });
- }
- /**删除**/
- function deleteData(){
- var ids="1";
- ///-------------回调函数有参数!!!
- MUtil.confirm("你确认要删除选中的数据?",function(ids){deleteCallback(ids)});
- }
修改为
- /**删除**/
- function deleteData(){
- var ids="1";
- ///-------------回调函数有参数!!!
- MUtil.confirm("你确认要删除选中的数据?",function(){deleteCallback(ids)});
- }
2008年8月08日 12:35