我有一个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');
所以这意味着我的对话框实际上是按需创建的,因此我无法预加载对话框内容。我需要显示一个加载图像,并在对话框中加载完所有内容后隐藏它。但是我无法让它发挥作用......希望能在这里得到一些帮助....
感谢任何反馈...谢谢...
答案 0 :(得分:0)
我以某种方式弄明白了。我改为使用.load()回调。只是为了表明我的方式:
// Use the load callback to open dialog to ensure content is loaded
$createdialog.load(controllerUrl, function () {
$('#loading').hide();
$createdialog.dialog('open');
});
谢谢!