jQuery UI对话框 - 使用Firefox时出现问题

时间:2011-02-11 18:22:27

标签: jquery ruby-on-rails ruby jquery-ui firefox

我有一些简单的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,对话框没有内容,只有标题(“添加用户”)。

有什么想法吗?谢谢!

1 个答案:

答案 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之前,整个内容都将可用。