How to change tabs programmatically in jquery-ui 1.9?

后端 未结 4 1652
没有蜡笔的小新
没有蜡笔的小新 2020-12-01 14:33

How do you change tabs programmatically with jquery-ui 1.9?

NOTE: Posting the answer because it took me more than 4 searches to find the right answe

相关标签:
4条回答
  • 2020-12-01 14:46

    If you add an id to the tab list elements, you can simulate a click using jQuery click() method.

    For example the following will activate tab2 when clicking the button outside of the tabs:

    <div id="tabs">
      <ul>
        <li><a href="#tabs-1" id="th1">Tab 1</a></li>
        <li><a href="#tabs-2" id="th2">Tab 2</a></li>
        <li><a href="#tabs-3" id="th3">Tab 3</a></li>
      </ul>
    
      <div id="tabs-1"><p>Container 1</p></div>
      <div id="tabs-2"><p>Container 2</p></div>
      <div id="tabs-3"><p>Container 3</p></div>
    </div>
    <button id="btn">Click to activate Tab 2</button>
    <script>
    $("#tabs").tabs();
    $('#btn').click(function() {$('#th2').click()});
    </script>
    
    0 讨论(0)
  • 2020-12-01 14:55

    Try this

    $('#tabs a[href="#tabs-2"]').tab('show')
    

    Here #tabs-2 means the tab you want to switch.

    0 讨论(0)
  • 2020-12-01 14:56

    Selection according id is very straight forward as Sonjz specified above ... but selection according to tabId is trickier .. I just want to share it in case anybody needs

    var index = $('#tabs a[href="#tab_id"]').parent().index();
    $("#tabs").tabs("option", "active", index);
    
    0 讨论(0)
  • 2020-12-01 14:59

    The select method is deprecated since 1.9, and was removed in 1.10. Use the active option instead.

    Example (jsfiddle also provided):

    <script>
        $(document).ready(function() {
          $("#tabs").tabs();
    
          // assume you want to change to the 3rd tab after 3 seconds
          setTimeout(function() {
              $("#tabs").tabs("option", "active", 2);
          }, 3000);
        });
    </script>
    
    <div id="tabs">
        <ul>
            <li><a href="#tabs-1">Tab 1</a></li>
            <li><a href="#tabs-2">Tab 2</a></li>
            <li><a href="#tabs-3">Tab 3</a></li>
        </ul>
    
        <div id="tabs-1"><p>Container 1</p></div>
        <div id="tabs-2"><p>Container 2</p></div>
        <div id="tabs-3"><p>Container 3</p></div>
    </div>
    
    0 讨论(0)
提交回复
热议问题