模式隐藏在Bootstrap 4中不起作用

时间:2018-07-12 11:15:28

标签: javascript bootstrap-4 bootstrap-modal show-hide

我在引导4中隐藏模态时遇到问题。 在我的tmp函数中,我必须先关闭模式,之后才需要使用方法update_table(url)

HTML和JS

<div class="modal" id="Modal" tabindex="-1" role="dialog"></div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
        integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
        crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
        integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
        crossorigin="anonymous"></script>


<script type="text/javascript">
    function abrir_modal(url) {
        $('#Modal').load(url, function () {
            $(this).modal('show');
        });
        return false;
    }

    function tmp(url) {

        $('#Modal').on('shown.bs.modal', function (e) {
            $("#Modal").modal('hide');
        })
            update_table(url);


    }

    function update_table(url) {
        $.ajax({
            type: "GET",
            url: url
        })
            .done(function () {
                refresh_table();
            });
    }

    function refresh_table() {
        $.ajax({
            type: "GET",
            url: "{% url 'Project:Task_Schedule_TableView' %}"
        })
            .done(function (response) {
                $("#_appendHere").load("{% url 'Project:Task_Schedule_TableView' %}" + "#_appendHere");
            });
    };
function hide_modal() {
    console.log($('#Modal').modal('name'))
    $('#Modal').modal('hide');
    console.log(33)
    return false;
}
</script>

我不知道出什么问题了,但是当我尝试使用hide_modal函数而不是tmp函数时,模态被隐藏了。

1 个答案:

答案 0 :(得分:0)

这是 Bootstrap 4 Modal Popup 的简单代码,用于隐藏弹出窗口。 您可以检查一下。

$('#Modal').modal('show');

function tmp(url) {

  $("#Modal").modal('hide');
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>

<div class="modal" id="Modal">
  <div class="modal-dialog">
    <div class="modal-content">

      <!-- Modal Header -->
      <div class="modal-header">
        <h4 class="modal-title">Modal Heading</h4>
        <button type="button" class="close" data-dismiss="modal">&times;</button>
      </div>

      <!-- Modal body -->
      <div class="modal-body">
        Modal body..
      </div>

      <!-- Modal footer -->
      <div class="modal-footer">
        <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
      </div>

    </div>
  </div>
</div>

显示弹出窗口时,请从浏览器控制台调用此功能。tmp('http://test/test');将隐藏弹出窗口。与Bootstrap 3相同

相关问题