簡體   English   中英

Bootstrap模式打開按鈕在關閉后需要單擊兩次才能重新打開

[英]Bootstrap modal open button requires two clicks to reopen after closing

我通過帶有數據屬性的按鈕觸發模態。 按鈕坐落在一個連續的數據表 模態用於更新數據庫中的實體。 這是打開模式的代碼:

<button 
    data-toggle="modal" 
    data-target="#updateInstitutionModal" 
    data-id="' + data.id + '" 
    data-name="' + data.name + '" 
    data-requires_id="' + data.requires_id + '"
    class="btn btn-xs btn-primary bootstrap-modal-form-open"
>
    <i class="glyphicon glyphicon-edit"></i> Edit
</button>

我正在使用此https://github.com/JesseLeite/Laravel-Bootstrap-Modal-Form擴展名來處理處理對我的后端PHP / Laravel的ajax請求的模式中的表單。 表單提交后,我沒有做任何修改就做以下事情,沒有返回錯誤:

function reload() {
    // remove the modal
    $('#updateInstitutionModal').hide();
    $('body').removeClass('modal-open');
    $('.modal-backdrop').remove();
    // refresh my datatable
    $('#institutions-table').DataTable().ajax.reload();
    return true;
}

最初,它只是執行以下操作: location.reload(); 而我正在調用自己的重載方法。

問題是,如果我單擊更新按鈕並執行更新,則一切正常,但是如果我立即單擊按鈕以更新x或其他任何行中的另一個更新按鈕,則模式不會顯示。 再次按下按鈕后,將顯示模態。 對我在這里做錯的任何想法嗎?

替換為:

function reload() {
    // remove the modal
    $('#updateInstitutionModal').hide();
    $('body').removeClass('modal-open');
    $('.modal-backdrop').remove();

    // ...
}

與:

function reload() {
    // toggle the modal
    $('#updateInstitutionModal').modal('toggle');

    // ...
}

現在它正在工作。 我應該一直在切換模式而不是關閉它。 因此,我相信該按鈕仍處於打開狀態,這就是為什么需要兩次單擊的原因。 問題解決了!

暫無
暫無

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

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