jQuery中的ui-dialog回调函数参数问题。
悬赏:25 发布时间:2008-08-07 提问人:retow (初级程序员)
1.问题背景:
我想用ui-dialog来代替window.confirm.
window.confirm点击确定会返回一个值。但是ui-dialog不行,只能通过回调函数来达到目的。
2.目标:
点击ui-dialog中确定按钮要完成:关闭ui-dialog.执行回调函数
3.代替confirm的代码:
4.调用MyUtil.confirm的代码:
5。问题:
在Action中得到ids是"undefined",而实际想得到的是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");
}
}
});
}
4.调用MyUtil.confirm的代码:
/**删除**/
function deleteData(){
var ids="1";
///-------------回调函数有参数!!!
MUtil.confirm("你确认要删除选中的数据?",function(ids){deleteCallback(ids)});
}
/**删除的回调函数,作用是提交到后台**/
function deleteCallback(ids){
var sAction = "/dict.do?method=delete&ids="+ids;
document.forms[0].action=sAction;
document.forms[0].submit();
}
5。问题:
在Action中得到ids是"undefined",而实际想得到的是1
采纳的答案
2008-08-08 passyt (初级程序员)
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)});
}
提问者对于答案的评价:
多谢,问题解决




