我有一些简单的jQuery在我的Rails应用程序中呈现页面。这是jQuery:
$('a.popup').click(function() {
$('<div />').appendTo('body').load($(this).attr('href') + ' form').dialog({
title: $(this).text(),
width: 425,
position: 'top',
});
return false;
});
这里是关联的HTML,带有ERB(嵌入式Ruby),生成锚标记:
<p><%= link_to "Add User", new_user_path, :class => "popup" %></p>
无论如何,问题是:它在Chrome中有效,在对话框中显示正确的页面。使用Firefox,对话框没有内容,只有标题(“添加用户”)。
有什么想法吗?谢谢!
答案 0 :(得分:2)
很难说没有实例,但也许你有异步AJAX调用的时间问题。尝试在回调中构建对话框:
$('a.popup').click(function() {
var $a = $(this);
var $dlg = $('<div/>');
$dlg.load($a.attr('href') + ' form', function() {
$dlg.dialog({
title: $a.text(),
width: 425,
position: 'top'
});
});
return false;
});
这样,在您将内容传递给jQuery-UI之前,整个内容都将可用。