jQuery(“#dialog”)。dialog('close')在单独视图中不使用按钮

时间:2015-04-15 21:41:58

标签: javascript jquery asp.net jquery-ui

我在MVC项目中有一个ASP.NET视图,我正在尝试创建一个弹出对话框来创建数据。还有另一个视图被加载,该视图有一个id为#34; 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>

正如你所看到的,我尝试了其他一些不起作用的东西,这已被注释掉了。未注释的按钮单击功能确实返回警报,但不关闭对话框。在此先感谢您的帮助,如果您需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

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

我在这里找到答案:Turning live() into on() in jQuery