javascript - 如何在关闭时重置 Bootstrap 模式并再次打开它?

标签 javascript jquery html twitter-bootstrap

我在 Bootstrap 模式中有一个列表框和一个按钮。 单击按钮时,将在模态的 div 内呈现一个新按钮。 当我关闭模态并重新打开它时,在模态上执行的最后一个操作(如之前呈现的按钮)仍然存在于模态中。

如何重置模式,以便当模式再次打开时,按钮不存在,用户可以再次从列表框中选择选项并单击按钮以呈现新按钮等。

<!-- Modal -->
<div
  class="modal fade"
  id="myModal"
  tabindex="-1"
  role="dialog"
  aria-labelledby="myModalLabel"
  aria-hidden="true"
>
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">
          <span aria-hidden="true">&times;</span
          ><span class="sr-only">Close</span>
        </button>
        <h4 class="modal-title" id="myModalLabel">Select Language</h4>
      </div>
      <div class="modal-body">
        <button type="button" class="btn" data-dismiss="modal">Close</button>
        <button type="button" class="btn" id="submit_form">Submit</button>

        <div class="modal-body1">
          <div id="placeholder-div1"></div>
        </div>
      </div>

      <div class="modal-footer">
        <script>
          $("#submit_form").on("click", function () {
            $(".modal-body1").html("<h3>test</h3>");
          });
        </script>

        <script>
          $(function () {
            $(".modal-footer").click(function () {
              $(".modal").modal("hide");
            });
          });
        </script>
      </div>
    </div>
  </div>
</div>

-- 更新---

为什么这行不通?

<script type="text/javascript">
  $(function () {
    $("#myModal").on("hidden.bs.modal", function (e) {
      console.log("Modal hidden");
      $("#placeholder-div1").html("");
    });
  });
</script>

最佳答案

隐藏模式时,只需手动重置任何内容:

$(".modal").on("hidden.bs.modal", function(){
    $(".modal-body1").html("");
});

还有更多事件。关于他们的更多信息 here

$(document).ready(function() {
  $(".modal").on("hidden.bs.modal", function() {
    $(".modal-body1").html("Where did he go?!?!?!");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>

<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch modal
</button>

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span>
        </button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        <div class='modal-body1'>
          <h3>Close and open, I will be gone!</h3>
        </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

关于javascript - 如何在关闭时重置 Bootstrap 模式并再次打开它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863003/

相关文章:

javascript - 为什么这不会收到返回值?

javascript - 带分隔符的手机号码字段

javascript - 如何使用链接在输入选项卡之间导航?

javascript - 主干或 javascript 对象扩展错误

javascript - 使用 jQuery 将数据放入动态内容

javascript - 如何使用 jquery 在 css 中使用图像的绝对路径?

html - 我可以在标题内正确对齐 CSS3 注释气泡吗?

javascript - 在Fabric.js中输出canvas JSON中的特定变量

javascript - Polymer 1.0 更改 <template> dom-repeat 中与 Javascript 的绑定(bind)

javascript - 一个框中只有一个选项,点击该选项时如何获取该选项的值?