jquery:如何将菜单栏链接到制表符

时间:2010-07-15 08:57:52

标签: jquery tabs menubar

我有一个菜单栏并标记下面的代码:

    <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>

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

您的问题不是很清楚,但也许select方法正是您所需要的。 它执行以下操作:

  

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

同样来自documentation

  

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

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/

答案 2 :(得分: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
});