我有以下问题:
我已经打开了一个JQuery对话框,我想用另一个模态对话框覆盖它以覆盖它并显示一些其他功能/信息。
我用第二个对话框填充ajax请求获取的数据。 问题是,第一个对话框没有在第一次点击时打开模态。当我关闭它并重新打开它时,对话框是模态的。
我的代码如下所示: 我在一个已存在于正文中的对话框
function showMachineControlDialog(id)
{
loadMachineControlDialog(id);
var buttonsOpts = {};
buttonsOpts["Close"] = function() { $(this).dialog("close"); };
$("#machine_control_box").dialog({ buttons : buttonsOpts });
$("#machine_control_box").dialog({ width: 250, resizable: false });
$("#machine_control_box").dialog( "option", "title", "Control-Dialog" );
$("#machine_control_box").dialog({ zIndex: 2000 });
$("#machine_control_box").dialog({ closeOnEscape: true });
$("#machine_control_box").dialog({ modal: true });
$("#machine_control_box").dialog({ autoOpen: false });
}
这里我获取推送到对话框中的数据:
function loadMachineControlDialog(id)
{
var paramlist = "id="+id;
$.ajax({
type: "GET",
dataType: "html",
url: "getData",
data: paramlist,
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
cache: false,
success: function(data){
$("#machine_control_box").html(data).dialog("open");
$("#machine_control_box").dialog({ position : 'center' });
},
error: function(data){
showErrorDialog(data.responseText);
}
});
}
经过一番搜索后,我自己找到了修复程序。我必须在将任何HTML插入对话框之前设置模态属性。如果之后设置了模态,则由于某种原因它将无法工作。
答案 0 :(得分:2)
第一次打开对话框后,将对话框设置为模态,例如在调用loadMachineControlDialog(id);
之后。
此外,您应该像这样链接.dialog
个选项,并在
loadMachineControlDialog()
$("#machine_control_box").dialog({
buttons : buttonsOpts,
width: 250,
resizable: false
"option", "title", "Control-Dialog"
zIndex: 2000;
closeOnEscape: true
modal: true
autoOpen: false });
loadMachineControlDialog(id);