Twitter Bootstrap Modal通过Ajax更改内容

时间:2015-03-20 07:55:40

标签: javascript jquery ajax twitter-bootstrap bootstrap-modal

我知道,这里有很多同一主题的问题。 但我无法找到解决问题的方法。 所以我有一个布局,在身体标签关闭之前有模态窗口:

<!-- 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" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
              </div>
              <div class="modal-body">
                CONTENT
              </div>
              <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Save changes</button>
              </div>
            </div>
          </div>
        </div>
    </body>

我的网站中有一个链接切换模态窗口的链接:

<a data-toggle="modal" class="btn btn-info" href="myRemote.php?id=1" data-target="#myModal">Click</a>

我的远程php只包含“<php echo $_GET['id'];?>”用于测试。 将来会有来自数据库的内容。

因此,每当我点击指向模态的链接时,内容都会发生变化。 这不是问题,我知道如何在php等中做到这一点。

我写JS,模态内容应该改变:

$(document).ready(function() {
        // Fill modal with content from link href
        $("#myModal").on("show.bs.modal", function(e) {
            var link = $(e.relatedTarget);
            $(this).find(".modal-body").load(link.attr("href"));
        });
    })
  

问题:

当我点击链接时,模态窗口打开。完善。 但是比模态窗口消失并且在我的站点的顶部位置有“1”。但这不太好,因为我只想要模态体中的内容“CONTENT”变为“1”。 我在这里做错了什么?

而且 - 另一个问题。如果我每次使用$ _GET ['id']改变内容,1永远不会消失,但我想在这里改变内容动态,所以在这个例子中,模态体类中应该有一个“2”如果我点击这样一个链接的模态窗口:

<a data-toggle="modal" class="btn btn-info" href="myRemote.php?id=2" data-target="#myModal">Click</a>

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:3)

建立如下链接:

<a class="btn btn-info openModal" data-href="myRemote.php?id=1">Click</a>
<a class="btn btn-info openModal" data-href="myRemote.php?id=1">Click 2</a>

On Js:

$(document).ready(function() {
        // Fill modal with content from link href
        $(".openModal").on("click", function(e) {
            var link = $(this).data("href");
        $('#myModal').modal("show");
        $('#myModal .modal-body').load(link );

        });
    })

你能试试吗?