how to trigger next tab with <a> or <button> element in materialize

只谈情不闲聊 提交于 2019-12-12 19:16:38

问题


<div class="col s12">
  <ul class="tabs">
   <li class="tab col s4"><a href="#test1"  class="active">tab1</a></li>
    <li class="tab col s4"><a href="#test2">tab2</a></li>
    <li class="tab col s4"><a href="#test4">tab3</a></li>
  </ul>
</div>

<div id='test1' class="col s12">
   <a href='#test2' >continue</a>
</div>
<div id='test2' class="col s12"></div>

i am trying to navigate to next tab after clicking on the button or link such as "Continue Button" in materializeCss. I have attached the image for better understanding.


回答1:


Refer to document of Materialize

http://materializecss.com/tabs.html

Write your code on .click() event, as following.

$(document).ready(function() {
  $('ul.tabs').tabs();
  $("#btnContinue").click(function() {
    $('ul.tabs').tabs('select_tab', 'test2');
  });
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/css/materialize.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/js/materialize.min.js"></script>

<div class="col s12">
  <ul class="tabs">
    <li class="tab col s4"><a href="#test1" class="active">tab1</a>
    </li>
    <li class="tab col s4"><a href="#test2">tab2</a>
    </li>
    <li class="tab col s4"><a href="#test4">tab3</a>
    </li>
  </ul>
</div>

<div id='test1' class="col s12">
  <a id="btnContinue" href='#test2'>continue</a>
</div>
<div id='test2' class="col s12"></div>



回答2:


$(document).ready(function() {          
  $("#btnContinue").click(function() {
    var el = document.getElementById("tabs");
    var instance = M.Tabs.getInstance(el);
    instance.select('test2');
  });
});



回答3:


The accepted answer doesn't work for the Jquery and materialize version mentioned below. Instead of "select_tab" method, we need to call "select" method here ( probable select_tab is deprecated )

The below code works for JQuery v3.2.1 and Materialize v1.00-rc.2

 $(document).ready(function(){
        $('ul.tabs').tabs();
        $('#btnContinue').click(function(){
            $('ul.tabs').tabs("select", "tab2");
        });     
 });



回答4:


The below works, though I noticed it may be slightly delayed as it goes through the entire document. It uses a wildcard selector (*) and that can be changed to (^) -- will match if the attribute begins with the given string (think class prefixes).

$(document).on('click', 'a[href*="#"]', function() {
    $('ul.tabs').tabs('select_tab', this.hash.slice(1));
});


来源:https://stackoverflow.com/questions/35456557/how-to-trigger-next-tab-with-a-or-button-element-in-materialize

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!