繁体   English   中英

jQuery(“ #dialog”)。dialog('close')不适用于单独视图上的按钮

[英]jQuery (“#dialog”).dialog('close') not working with button on separate view

我在MVC项目中有一个ASP.NET视图,我在其中试图创建一个弹出对话框来创建数据。 还有另一个视图被加载,并且该视图具有ID为“ btncancel_create”的按钮。 我无法通过该按钮关闭对话框。 我正在使用jQuery 2.1.3和jQuery UI 1.11.4。

这是按钮的代码:

<input type="button" value="Cancel" id="btncancel_create" />

这是视图:

$(document).ready(function () {
    //alert("Document is ready");
    var url = "";

    $("#dialog-create").dialog({
        title: 'Create User',
        autoOpen: false,
        resizable: false,
        width: 400,
        show: { effect: 'drop', direction: "up" },
        modal: true,
        draggable: true,
        open: function (event, ui) {
            $(".ui-dialog-titlebar-close").hide();
            $(this).load(url);
        }
    });

    $("#lnkCreate").on("click", function (e) {
        url = $(this).attr('href');
        $("#dialog-create").dialog('open');

        return false;
    });

    //$("#btncancel_create").on("click", function (e) {
    //    $("#dialog-create").dialog("close");
    //    return false;
    //});

    $("#dialog-create").button("#btncancel_create").click(function (e) {
        alert("btncancel_create was clicked");
        $("#dialog-create").dialog('close');
        return false;
    });
});

<div id="dialog-create" style="display: none"></div>

<p>@Html.ActionLink("Create New", "Create", null, new { id = "lnkCreate" })</p>

如您所见,我尝试了其他无效的方法,已将其注释掉。 未注释的按钮单击功能不会返回警报,但不会关闭对话框。 预先感谢您的帮助,如果您需要更多信息,请告诉我。

代替
$("#btncancel_create").on("click", function (e) {...
(在上面我注释掉的代码中)
它应该是
$(document).on("click", "#btncancel_create", function (e) {...

我在这里找到了答案: 在jQuery中将live()转换为on()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM