将部分附加到对话框

时间:2014-10-03 18:56:20

标签: javascript jquery ruby-on-rails

好的,我有一个网站,我想要一个按钮来打开这个对话框。我试图找出如何只在它打开时附加到该对话框的部分...

在该部分中存在JavaScript,其他形式的错误因此需要在关闭对话框时删除部分。

$(document).ready(function () {
    $(function () {
        $("#dialog_box").dialog({
            autoOpen: false
        });
        $("#test_button").on("click", function () {
            $("#dialog_box").dialog("open");
        });
    });
});

如何仅在对话框打开时才能附加表单...并在对话框关闭时删除表单?

<script>
    $('#form_div').append('<%= render(:partial => 'payment_form')%>');
</script>

此外,我必须能够访问主页面中的实例变量。

@company, @user, @info

Page Html

<button id="test_button">Push Me</button>
<div class="main">
    <div id="dialog_box" title="Payment Details">
        <div id="form_div"></div>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

我认为你必须使用Dialog回调方法来控制Dialog状态:

$(document).ready(function () {
    $(function () {
        $("#dialog_box").dialog({
            autoOpen: false,
            open: function( event, ui ) {
                console.log('Dialog opened');
            },
            close: function( event, ui ) {
                console.log('Dialog closed');
            }
        });
        $("#test_button").on("click", function () {
            $("#dialog_box").dialog("open");
        });
    });
});

您可以在此处找到完整的方法和回调列表:http://api.jqueryui.com/dialog/

干杯!