单击时仅重新加载引导选项卡

时间:2017-11-28 16:53:26

标签: javascript jquery jquery-ui

我有以下tab panel

<div class="panel with-nav-tabs panel-default">
      <div class="panel-heading">
        <ul class="nav nav-tabs">
          <li class="active"><a href="#map" data-toggle="tab" id="myTab">Map-location</a></li>
          <li><a href="#comments" data-toggle="tab">Comments</a></li>
          <% if shopper_signed_in? %>
          <li><a href="#addComments" data-toggle="tab">Add Comment</a></li>
           <% end %>
        </ul>
      </div>

我想重新加载第一个标签(当我点击它时),以便显示地图。

这是我从浏览器检查器获得的内容:

 <a href="#map" data-toggle="tab" id="myTab">Map-location</a>

目前我正在尝试这个:

<script> jQuery("#myTab").click(function() {  location.reload(true); });</script>

但这并不完全是我追求的目标。当前的设置正在重新加载整个页面,我更喜欢当我点击它时只有选项卡重新加载。

1 个答案:

答案 0 :(得分:0)

这背后的服务器端部分是什么?通常,实践是提供服务器端操作以仅提供注释部分。

假设这可能是PHP,请提供仅返回注释的comments.php,并重新加载评论标签,如下所示:

$("#commentsDiv").load("comments.php?id=" + id)

UPDATE 事实证明 Ruby 正在使用中,我不知道,请自行调整解决方案。您只需要一个单独的操作/路线来发送评论。

你也可以做,但不建议,是获取完整内容,但只抓住页面的特定部分:

$("#commentsDiv").load(window.location.href + " #commentsDiv");

应该是这样的。实际上 是“重新加载页面的一部分的神奇方法”:)请参阅Documentation加载页面碎片部分(正如您可以在那里阅读的那样,方法有一些缺点,所以不推荐,例如JavaScript没有执行)