jQuery Ui对话框 - 在对话框内容仍在加载时添加“正在加载”图像

时间:2011-11-02 00:56:33

标签: jquery asp.net-mvc-3 jquery-ui jquery-ui-dialog

我有一个div标签,最初设置为display:none,稍后将转换为对话框:

 @* To load the create dialog *@
  <div id="createdialog">
  </div>

我将部分视图加载到对话框中,如下所示:

 // Dialog for create food
        var controllerUrl = '/Food/CreateFood';
        $('#createdialog').append($('#loading'));
        var $createdialog = $('#createdialog').load(controllerUrl).dialog({
            autoOpen: false,
            title: 'Create Food',
            modal: true,
            // To set the dialog width to full width
            width: 'auto',
            // Call the clear function without '()'
            close: clear
        });

然后我在用户丢弃内容后在jquery ui drop事件中打开它:

        $.validator.unobtrusive.parse($createdialog);
        $createdialog.dialog('open');

所以这意味着我的对话框实际上是按需创建的,因此我无法预加载对话框内容。我需要显示一个加载图像,并在对话框中加载完所有内容后隐藏它。但是我无法让它发挥作用......希望能在这里得到一些帮助....

感谢任何反馈...谢谢...

1 个答案:

答案 0 :(得分:0)

我以某种方式弄明白了。我改为使用.load()回调。只是为了表明我的方式:

 // Use the load callback to open dialog to ensure content is loaded
        $createdialog.load(controllerUrl, function () {
            $('#loading').hide();
            $createdialog.dialog('open');
        });

谢谢!