在我的网页上,我有一些链接,例如:
然后我在点击事件上附加对话框:
由于异步加载的原因,这不起作用(在对话框完全加载之前调用)。
感谢您的帮助。
<div id="toolbarButtons">
<a href="actualites/addLink" id="liens" rel="lien" title="Insérer un lien" class="toolbarButton"><span><img src="pub/struct/picto/icon_toolbar-link.gif" alt="Liens" />Lien</span></a>
<a href="actualites/addImage" rel="image" title="Insérer une image" id="img" class="toolbarButton"><span><img src="pub/struct/picto/icon_toolbar-img.gif" alt="Liens" /> Image(s)</span></a>
</div>
<div id="dialogbox"></div>
首先,我通过调用以下方法初始化我的对话框:
initDialog : function() {
$('#dialogbox').dialog({
bgiframe:true,
autoOpen:false,
width:500,
modal:true
});
}
然后我在点击事件上附加对话框:
$('.toolbarButton').click(function(e){
e.preventDefault();
actu.dialogManager($(this));
});
dialogManager : function(elem) {
elem.blur();
var title = elem.attr('title');
var href = elem.attr('href');
var rel = elem.attr('rel');
$('#dialogbox').dialog('option','title',title);
if(rel == 'lien')
{
$('#dialogbox').dialog('option','buttons',{
'Add' : function(){
//TODO
},
'Cancel' : function(){
$('#linkText').val('');
$('#linkUrl').val('');
$(this).dialog('close');
}
});
$('#dialogbox').load(href).dialog('open');
}
}
正如您所看到的,对话框的内容是通过ajax获取的。对话框包含一些输入框。我有一个最后的函数,它应该编辑输入框的内容,但我不知道在哪里调用它。它需要在打开对话框之后才能有效地被调用。我该怎么做呢?
将其放在对话框打开后立即执行。
$('#dialogbox').load(href).dialog('open');
由于异步加载的原因,这不起作用(在对话框完全加载之前调用)。
感谢您的帮助。