我有以下代码来启动dilog,执行ajax并使用响应填充它。如何修改代码以确保仅在成功执行ajax响应后才显示“确定”按钮?
由于
function saveChangesDialog(btnToClick,formToPost,formAction,dialogtitleText)
{
$(document).ready(function() {
// dialog prepare function
$('#generic_dialog').dialog({
autoOpen: false,
width: 400,
modal: true,
bgiframe: true,
title: dialogtitleText,
closeOnEscape: false,
open: function(event, ui)
{
$(".ui-dialog-titlebar-close").hide();
},
resizable: false,
buttons: {
Ok: function() {
$(this).dialog('close');
}
}
});
// dialog content polling
$.fetch_dialog_content = function() {
$('#generic_dialog').dialog('open');
$.ajax({
type: 'POST',
url: formAction,
data: $("#"+ formToPost).serialize(),
cache: false,
dataType: "html",
success: function(html_input){
$('#dialogText-genericdialog').html(html_input);
}
});
}
// "click" event registration
$('#'+btnToClick).click(function(){
$.fetch_dialog_content();
});
});
}
答案 0 :(得分:2)
在ajax调用之后
$('#generic_dialog').dialog('option','buttons',{
'OK': function(){ $(this).dialog('close');}
});
答案 1 :(得分:1)
使用Jquery Tools叠加层可能会更好。
它是最干净的解决方案并且维护良好