我已经定义了一个这样的对话框:
<script>
$(function () {
$('#dialog_error').dialog({
title: 'خطا',
autoOpen: false,
width: 700,
resizable: false,
modal: true,
show: { effect: 'fade', speed: 500 },
hide: { effect: 'fade', speed: 500 },
buttons: {
'بستن': function () { $("#dialog_error").dialog("close"); }
}
});
});
</script>
并在我的Html代码结尾处:
<body>
...
<div id="dialog_error" class ="popup_error"></div>
</body>
在Javascript函数中,我有:
...
alert(data.Message);
$("#dialog_error").html(data.Message);
$("#dialog_error").dialog("open");
...
警报显示正确,但对话框无法打开。 以及&#34; data.Message&#34;的价值在其他&#34; div&#34; s之后显示在屏幕中间。
为什么会这样?
答案 0 :(得分:0)
var $dlg=$('#dialog_error').dialog({
title: 'خطا',
autoOpen: false,
width: 700,
resizable: false,
modal: true,
show: { effect: 'fade', speed: 500 },
hide: { effect: 'fade', speed: 500 },
buttons: {
'بستن': function () {$(this).dialog("close");}
}
});
确保$ dlg变量位于您想要更改内容的范围内,
然后只需.html()
调用即可,如下所示:
$dlg.dialog('open');
$dlg.html(data.Message);
答案 1 :(得分:0)
第一个问题是在代码中添加“jquery-ui-1.9.2.min.js”。还使用
$(document).ready(function () {}
以防止在打开对话框之前构建对话框。