首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery UI选项卡-始终在第一个div中呈现html

JQuery UI选项卡-始终在第一个div中呈现html
EN

Stack Overflow用户
提问于 2012-11-29 02:35:09
回答 3查看 672关注 0票数 0

我在我的asp.net MVC(剃刀)应用程序中使用jquery UI Tab。我发现问题是,每个选项卡单击都会在第一个div中呈现html,即这里的div中的id为"tabs-1“。

Jquery代码:

代码语言:javascript
复制
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/jquery-ui.min.js"></script>


<script type="text/javascript">
    $(function ($) {
        $('#example').tabs().addClass("ui-tabs-vertical ui-helper-clearfix");
        $("#example li").removeClass("ui-corner-top").addClass("ui-corner-left");
    });
</script>

HTML:

代码语言:javascript
复制
<div id="example"  class="tabs"  style="width: 698px;">
                <ul style="list-style: none;">
                    <li><a href="/Details/Overview">Overview</a></li>
                    <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=5" >Specifications</a></li>
                    <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=1" >Exterior</a></li>
                    <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=2" >Interior</a></li>
                    <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=3" >Dimensions</a></li>
                    <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=4" >Feature</a></li>
                    <li><a href="/Version/Details?versionID=@ViewBag.versionId&grpId=6" >Instrument Panel</a></li>
                    <li><a href="#tabs-8">Color</a></li>
                </ul>
                <div id="tabs-1" style="width: 698px;">
                    This is Tab one
                </div>
                <div id="tabs-2">
                </div>
                <div id="tabs-3">
                </div>
                <div id="tabs-4">
                </div>
                <div id="tabs-5">
                </div>
                <div id="tabs-6">
                </div>
                <div id="tabs-7">
                </div>
                <div id="tabs-8">
                </div>
            </div>

请给我引路。

谢谢,

@paul

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-29 23:42:03

最后,我通过匹配title属性和容器的id得到了解决方案,如下所示

代码语言:javascript
复制
<li><a href="/Details/Overview" title="tabs-1">OverView</a></li>
<li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=5" title="tabs-2">Specifications</a></li>


<div id="tabs-1" style="width: 698px;">This is Tab one</div>
<div id="tabs-2"> </div>

谢谢,

@paul

票数 1
EN

Stack Overflow用户

发布于 2012-11-29 02:42:05

我认为id="example“应该比class="tabs”div低一个级别。

代码语言:javascript
复制
        <div id="example" class="tabs" style="width: 698px;">
            <ul style="list-style: none;">
                <li><a href="/Details/Overview">This is Tab one</a></li>
                <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=5" >Specifications</a></li>
                <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=1" >Exterior</a></li>
                <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=2" >Interior</a></li>
                <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=3" >Dimensions</a></li>
                <li><a href="/Version/Details?ID=@ViewBag.versionId&grpId=4" >Feature</a></li>
                <li><a href="/Version/Details?versionID=@ViewBag.versionId&grpId=6" >Instrument Panel</a></li>
                <li><a href="#tabs-8">Color</a></li>
            </ul>
            <div id="tabs-1" style="width: 698px;">
                Overview
            </div>
            <div id="tabs-2">
            </div>
            <div id="tabs-3">
            </div>
            <div id="tabs-4">
            </div>
            <div id="tabs-5">
            </div>
            <div id="tabs-6">
            </div>
            <div id="tabs-7">
            </div>
            <div id="tabs-8">
            </div>
        </div>
   </div>

编辑:

代码语言:javascript
复制
$('#example').tabs().addClass("ui-tabs-vertical ui-helper-clearfix");
$("#example li").removeClass("ui-corner-top").addClass("ui-corner-left");
$('#example')

您的jquery中的第三行应该做什么?它是不是生成了一个javascript错误,导致选项卡无法正常工作?

票数 0
EN

Stack Overflow用户

发布于 2012-11-29 03:40:07

您的问题是锚点标记中的href。您必须将它们格式化为"#tabs-number“。

这里有一个jsfiddle向你展示了它的工作(完全没有任何CSS样式,因为你的例子中也没有提供CSS样式。但每个被单击的选项卡都会将您带到不同的选项卡内容。

http://jsfiddle.net/UBxPJ/

但基本上,变化是:

代码语言:javascript
复制
            <li><a href="#tabs-1">Overview</a></li>
            <li><a href="#tabs-2" >Specifications</a></li>
            <li><a href="#tabs-3" >Exterior</a></li>
            <li><a href="#tabs-4" >Interior</a></li>
            <li><a href="#tabs-5" >Dimensions</a></li>
            <li><a href="#tabs-6" >Feature</a></li>
            <li><a href="#tabs-7" >Instrument Panel</a></li>
            <li><a href="#tabs-8">Color</a></li>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13612061

复制
相关文章

相似问题

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