首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在我的javascript中使用4节(选项卡)?

如何在我的javascript中使用4节(选项卡)?
EN

Stack Overflow用户
提问于 2013-05-07 17:27:35
回答 2查看 6.3K关注 0票数 3

我正在使用ZURBFoundation4.1.5作为我的应用程序,我试图使用来管理页面上的“选项卡”。但是,我页面上的选项卡中的数据是动态的,并通过Ajax调用加载。我需要知道如何在部分内容上呈现或绘制这些数据。

我的javascript方法

( a)每当选择Tab时都需要得到通知。

( b)需要能够以编程方式显示或选择活动选项卡

( c)为每个tab动态设置HTML内容:我有一个小胡子js模板,它将与jquery回调的结果相结合,以设置选项卡的html。

EN

回答 2

Stack Overflow用户

发布于 2013-05-07 21:15:18

记录我的解决方案,因为我在其他地方找不到这种方法。

这是节/ Tabs定义html

代码语言:javascript
运行
复制
 <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事件处理程序

代码语言: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打开,通过如下所示的单击事件:

代码语言:javascript
运行
复制
  $("a[href='#p2']").click(); // this open tab p2

注意,Gotcha:第一次加载页面时,默认情况下将显示第一个选项卡,并且不会调用第一个选项卡的处理程序;如果您计划为选项卡1(本例中的面板1)加载ajax数据,则无法这样做。

票数 1
EN

Stack Overflow用户

发布于 2014-02-25 16:23:29

对于那些使用Foundation 5的人来说,这对我来说很好:

代码语言:javascript
运行
复制
<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:

代码语言:javascript
运行
复制
<script>
    $('#clientTabs').on('toggled', function (event, tab) {
        var currentTab = tab.context.id;        
        $('#tabContent').empty();
        $('#tabContent').load('/Home/' + currentTab);
    });
</script>

控制器:

代码语言:javascript
运行
复制
public ActionResult GeneralInformationTab()
{
    return PartialView("Partials/GeneralInformation");
}

public ActionResult ContactDetailsTab()
{
    return PartialView("Partials/ContactDetails");
}

它动态地加载每个选项卡的内容,在load()中构建一个请求URL,获取部分视图。我很快就会尝试使用表单和回发,如果需要的话,我会更新这个答案。

这对我来说是很新的,所以我认为这可能不是一个完美的解决方案。请通过评论提出任何改进意见,我会更新我的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16425057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档