0

我有一个菜单栏和标签,代码如下:

    <div id="menu">
        <ul>
            <li><a href="#"><span>Inspection</span></a></li>
            <ul>
                <li><a href="#"><span>show tabs1</span></a></li>
                <li><a href="#"><span>show tabs2</span></a></li>
            </ul>
        </ul>
    </div>    

    <div id="tabs">
          <ul>
               <li><a href="#tabs1">Inspection Report</a></li>
               <li><a href="#tabs2">Input Data</a></li>
          </ul>
      <div id="tabs1">
           bla bla bla
      </div>
      <div id="tabs2">
           blah blah blah
      </div>
   </div>

我已将以下代码用于选定的选项卡。但在我点击后show tabs1,实际显示tabs2

<script>
      $(document).ready(function(){
              $("#Tabs").tabs();
              $("#menu ul li a").each(function(index){
                        $(this).click(function(){
                                  $("#Tabs").tabs("select",index);
                                  });
                         });
             });
</script>
4

3 回答 3

2

既然您终于提供了足够的信息,那么帮助您就更容易了……

将您的 javascript 编辑为以下内容,它仍然使用jQuery 选项卡的select方法

$(function() {
    $("#tabs").tabs();
    $("#menu a:not(:first)").each(function(index){
        $(this).click(function() {
            $("#tabs").tabs("select",index);
            return false;
        });
    });
});

演示:http: //jsfiddle.net/LdDGG


或者,如果您打算在 中添加更多a元素#menu,则应将 ID 添加到a元素或 中ul,例如在此演示中:http: //jsfiddle.net/LdDGG/1/

于 2010-07-23T22:17:14.497 回答
0

你的问题不是很清楚,但也许select方法就是你要找的。它执行以下操作:

选择一个选项卡,就像单击它一样。第二个参数是要选择的选项卡的从零开始的索引或与选项卡关联的面板的 id 选择器(选项卡的 href 片段标识符,例如哈希,指向面板的 id)。

同样来自文档

[我如何]...从文本链接中选择一个选项卡,而不是单击选项卡本身

var $tabs = $('#example').tabs(); // first tab selected

$('#my-text-link').click(function() { // bind click event to link
        $tabs.tabs('select', 2); // switch to third tab
        return false;
});

这是它如何工作的演示:http: //jsfiddle.net/hP9xb/

于 2010-07-16T12:07:39.020 回答
0

我们将您的菜单称为“选项卡控制台”,将您的主容器称为“选项卡窗格”。

假设您的选项卡控制台的 html 看起来像这样:

<ul id="tab_console">
    <li id="first"><a href="#">My First Page</a></li>
    <li id="second"><a href="#">My Second Page</a></li>
    <li id="third"><a href="#">My Third Page</a></li>
</ul>

...您的选项卡窗格看起来像这样:

<div id="tab_pane">
    <div id="page_first"></div>
    <div id="page_second"></div>
    <div id="page_this"></div>
</div>

您需要隐藏各种选项卡窗格内容,因此它们不会一次全部显示。你可以用 CSS 做到这一点:

#tab_pane div {display: none;}

现在我们需要一个脚本来使它全部工作:

$(document).ready(function(){                    // fires when browser loads your html
    $('#tab_console > li').click(function() {    // fires when a tab is clicked
        $('#tab_pane > div').hide();             // hides all tab contents
        $('#tab_pane > #page_' + $(this).attr('id')).show();   // show the selected tab
    });

    $('#tab_pane > li#page_first').show();     // load your default tab
});
于 2010-07-23T09:41:48.760 回答