簡體   English   中英

Modal不會關閉並阻止默認情況下的無點擊操作,並且不會在yes單擊時執行func

[英]Modal won't close and prevent default on no click, and won't execute func on yes click

我有兩個按鈕的模態。 一個是“是”按鈕,一個是“否”按鈕。 如果按“是”按鈕,我希望其余功能執行。 如果未單擊btn,我希望頁面阻止默認設置並且不執行。 但是,似乎無論單擊哪個按鈕,除了模式關閉之外什么都沒有發生。 我正在使用在其他地方找到的模式示例,所以這可能是問題所在。 看了一段時間后,我似乎找不到問題所在。 我想念一些小東西嗎? 還是我的Jquery錯誤? 下面是我的代碼:

莫代爾:

    <!-- Modal for delete-->
<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content border-primary mb-3 box-shadow-none img-responsive">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="card-body bg-light">
                <div id="del" class="center">
                    <label>Are you sure you want to delete?</label>
                </div>
            </div>
            <div class="modal-footer">
                <div id="deleteYes">
                    <button type="button" class="btn btn-default" data-dismiss="modal" id="deleteYes">Yes</button>
                </div>
                <div id="deleteNo">
                    <button type="button" class="btn btn-default" data-dismiss="modal" id="deleteNo">No</button>
                </div>
            </div>
        </div>
    </div>
</div>

這是我的Jquery:

 $(".btnDeleteTerminalCommand").click(function (e) {

    $("#deleteModal").modal('toggle');

    if ($("#deleteNo").click) {
        return e.preventDefault();
    }

    var rowId = "#" + $(this).data("rowindex");
    var row = $(rowId);
    var termId = row.find(".tdTermId").html().trim();
    var cmdId = row.find(".tdCmdId").html().trim();
    var cmdVal = row.find(".tdCmdVal").html().trim();
    var cmdID = row.find(".cmdID").html().trim();

    var data = {
        TerminalID: termId,
        CommandID: cmdId,
        CommandValue: cmdVal,
        ID: cmdID
    };

    $.ajax({
        url: '@Url.Action("DeleteTerminalCommand", "TerminalCommand")',
        type: "POST",
        data: data,
        success: function (response) {
            console.log("Success");
            window.location.href = response.Url;
        }
    });
});

任何建議都會有所幫助! 謝謝!

您的點擊處理程序將切換模式,並立即繼續執行其余功能,然后用戶才能單擊任何內容。 如果您的模式有兩個按鈕,則為每個按鈕創建一個單擊處理程序。 也許“否”按鈕只是關閉模式。 是按鈕處理程序可以執行完成任務所需的操作。

$(".btnDeleteTerminalCommand").click(function(e){
    $("#deleteModal").modal('toggle');
}

$("#deleteNo").click(function(e){
    $("#deleteModal").modal('hide');
}

$("#deleteYes").click(function(e){
    // build data object
    // ajax post
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM