我有以下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>
但这并不完全是我追求的目标。当前的设置正在重新加载整个页面,我更喜欢当我点击它时只有选项卡重新加载。
答案 0 :(得分:0)
这背后的服务器端部分是什么?通常,实践是提供服务器端操作以仅提供注释部分。
假设这可能是PHP,请提供仅返回注释的comments.php
,并重新加载评论标签,如下所示:
$("#commentsDiv").load("comments.php?id=" + id)
UPDATE 事实证明 Ruby 正在使用中,我不知道,请自行调整解决方案。您只需要一个单独的操作/路线来发送评论。
你也可以做,但不建议,是获取完整内容,但只抓住页面的特定部分:
$("#commentsDiv").load(window.location.href + " #commentsDiv");
应该是这样的。实际上 是“重新加载页面的一部分的神奇方法”:)请参阅Documentation,加载页面碎片部分(正如您可以在那里阅读的那样,方法有一些缺点,所以不推荐,例如JavaScript没有执行)