如何访问具有部分MVC视图的对话框中的按钮?

时间:2014-03-31 23:14:51

标签: jquery asp.net-mvc

我正在尝试访问对话框的关闭按钮。我想使用按钮的click事件。我试过这个:

 dialogButton = $('#my-dialog').dialog.find("button");

我从我见过的例子中尝试了这个,但它对我没用。如何访问具有部分MVC视图的对话框中的按钮?

 $(function () {


        $('#my-dialog').dialog({
            autoOpen: false,
            width: 700,
            height: 600,

            title: "Schedule",
            resizable: false,
            modal: false,
            buttons: {
                "Close": function () {
                    $(this).dialog("close");
                }
            }
        });

        $('.modal').click(function () {
            $('#my-dialog').load(this.href, function () {
                $(this).dialog('open');
            });
            return false;
        });
    });


    dialogButton = $('#my-dialog').dialog.find("button");
    $('#my-dialog').click(function () {

        alert(dialogButton);
    });

    });

1 个答案:

答案 0 :(得分:2)

如果#my-dialog button已经是DOM的一部分,那么选择button内的#my-dialog元素的正确语法是:$('#my-dialog').find('button')

但是,当您尝试抓取button时,可能是DOM中尚不存在dialogButton元素 - 用户首先必须打开对话框。如果是这种情况,请使用jQuery on method,如下所示:

$('#my-dialog').on('click', 'button', function() {
    alert($(this));
});