簡體   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