我正在使用ZURBFoundation4.1.5作为我的应用程序,我试图使用来管理页面上的“选项卡”。但是,我页面上的选项卡中的数据是动态的,并通过Ajax调用加载。我需要知道如何在部分内容上呈现或绘制这些数据。
我的javascript方法
( a)每当选择Tab时都需要得到通知。
( b)需要能够以编程方式显示或选择活动选项卡
( c)为每个tab动态设置HTML内容:我有一个小胡子js模板,它将与jquery回调的结果相结合,以设置选项卡的html。
发布于 2013-05-07 21:15:18
记录我的解决方案,因为我在其他地方找不到这种方法。
这是节/ Tabs定义html
<div class="section-container auto" data-section>
<section>
<p class="title" data-section-title><a href="#p1">Section 1</a></p>
<div class="content" data-section-content>
<p>Content of section 1.</p>
</div>
</section>
<section>
<p class="title" data-section-title><a href="#p2">Section 2</a></p>
<div class="content" data-section-content>
<p>Content of section 2.</p>
</div>
</section>
</div>
下面的代码用于为选项卡选择添加javascript事件处理程序
script>
$(document).foundation();
</script>
<script type="text/javascript">
$(document).ready(function() {
$("a[href='#p1']").bind("click", function(){
alert(" panel 1"); //panel 1 is about to be opened by user
});
$("a[href='#p2']").bind("click", function(){
alert(" panel 2"); // panel 2 is about to be opened
});
});
还请注意,Tab面板或部分可以由您的javascript打开,通过如下所示的单击事件:
$("a[href='#p2']").click(); // this open tab p2
注意,Gotcha:第一次加载页面时,默认情况下将显示第一个选项卡,并且不会调用第一个选项卡的处理程序;如果您计划为选项卡1(本例中的面板1)加载ajax数据,则无法这样做。
发布于 2014-02-25 16:23:29
对于那些使用Foundation 5的人来说,这对我来说很好:
<dl class="tabs" id="clientTabs" data-tab>
<dd class="active">
<a id="GeneralInformationTab" href="#GeneralInformationTab">
General Information
</a>
</dd>
<dd>
<a id="ContactDetailsTab" href="#ContactDetailsTab">
Contact Details
</a>
</dd>
</dl>
<div class="tabs-content">
<div class="content active" id="tabContent">
<p>First panel content goes here...</p>
</div>
</div>
JS:
<script>
$('#clientTabs').on('toggled', function (event, tab) {
var currentTab = tab.context.id;
$('#tabContent').empty();
$('#tabContent').load('/Home/' + currentTab);
});
</script>
控制器:
public ActionResult GeneralInformationTab()
{
return PartialView("Partials/GeneralInformation");
}
public ActionResult ContactDetailsTab()
{
return PartialView("Partials/ContactDetails");
}
它动态地加载每个选项卡的内容,在load()中构建一个请求URL,获取部分视图。我很快就会尝试使用表单和回发,如果需要的话,我会更新这个答案。
这对我来说是很新的,所以我认为这可能不是一个完美的解决方案。请通过评论提出任何改进意见,我会更新我的答案。
https://stackoverflow.com/questions/16425057
复制相似问题