jqueryUI上的开放事件间歇性工作
我有一个jqueryUI对话框,它向另一个页面发出请求并在对话框中加载内容jqueryUI上的开放事件间歇性工作,jquery,jquery-ui,jquery-dialog,Jquery,Jquery Ui,Jquery Dialog,我有一个jqueryUI对话框,它向另一个页面发出请求并在对话框中加载内容 jQuery("#someDialog").dialog({ autoOpen: true, draggable: false, resizable: false, modal: true, open: function() { jQuery(this).load('myurl?type=something'); } }); 但是,此代码有时只是打开对话
jQuery("#someDialog").dialog({
autoOpen: true,
draggable: false,
resizable: false,
modal: true,
open: function() {
jQuery(this).load('myurl?type=something');
}
});
但是,此代码有时只是打开对话框,而加载的内容不会显示在对话框中。我怀疑这是因为open事件中的异步代码
有没有办法解决这个问题?我通常将内容加载到变量div中,然后在打开对话框时将其html作为文本
$('#popupWindow').load('whatever?type=something', function () {
// using the callback function on .load() we can ensure
// the content is always loaded before opening the dialog also
var _dialogBox = $('<div id="dialogBox" />');
// put the html inside of the dialog
_dialogBox.html( $('#popupWindow').html() );
_dialogBox.dialog({
autoOpen: true,
draggable: false,
resizable: false,
modal: true
});
_dialogBox.dialog('open');
});
$('#popupWindow').load('whatever?type=something',function(){
//使用.load()上的回调函数可以确保
//内容总是在打开对话框之前加载
变量对话框=$('');
//将html放入对话框中
_dialogBox.html($('#popupWindow').html());
_dialogBox.dialog({
自动打开:对,
可拖动:错误,
可调整大小:false,
莫代尔:对
});
_dialogBox.dialog(“打开”);
});
在这里看不到任何问题。。。您的#someDialog
元素是静态的吗?这些元素是否不止一个?如何打开对话框?#someDialog
元素是静态的。myurl
中有一个jqGrid,它向URL发出请求以加载其数据。因此,当一切顺利时,我看到在打开对话框时发出了两个调用:1)调用myurl
,2)调用“urltoadgriddata”。然而,当modalbox中没有加载任何内容时,我只看到第一个调用,而不是后一个。嗯,这是一个非常好的技巧。然而,在我的例子中,这样做是使弹出窗口在一个新的寻呼机中打开,而不是成为一个modalbox代码>。这可能就是为什么它会在一个新页面中打开的原因我不认为text
是jQueryUI的方法之一:对不起,我忘了我有一个自定义的对话框功能来添加到对话框中!更新了代码。基本上,您需要动态创建div,并在其中添加html。