Jquery对话框只显示文本消息

时间:2014-09-14 05:53:40

标签: javascript jquery dialog

我已经定义了一个这样的对话框:

<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之后显示在屏幕中间。

为什么会这样?

2 个答案:

答案 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);

DEMO

答案 1 :(得分:0)

第一个问题是在代码中添加“jquery-ui-1.9.2.min.js”。还使用

$(document).ready(function () {}

以防止在打开对话框之前构建对话框。