繁体   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