I have got two tabs (TAB1 and TAB2). Active tab is TAB1 (mdc-tab--active). I want to set active tab to TAB2 using javascript.
Thanks.
My code:
<div class='mdc-tab-bar' role='tablist' data-mdc-auto-init='MDCTabBar'>
<div class='mdc-tab-scroller'>
<div class='mdc-tab-scroller__scroll-area mdc-tab-scroller__scroll-area--scroll'>
<div class='mdc-tab-scroller__scroll-content'>
<button class='mdc-tab mdc-tab--stacked mdc-tab--active' role='tab' aria-selected='false' tabindex='-1'>
<span class='mdc-tab__content'>
<span class='mdc-tab__icon mdc-tab__icon-fa fa fa-comments fa-2x' aria-hidden='true'></span>
<span class='mdc-tab__text-label'>TAB1</span></span>
<span class='mdc-tab-indicator mdc-tab-indicator--active'>
<span class='mdc-tab-indicator__content mdc-tab-indicator__content--underline'></span>
</span>
<span class='mdc-tab__ripple'></span>
</button>
<button class='mdc-tab mdc-tab--stacked b_mensajes_tabs_contactos' role='tab' aria-selected='true' tabindex='1'>
<span class='mdc-tab__content'>
<span class='mdc-tab__icon mdc-tab__icon-fa fa fa-user-circle fa-2x' aria-hidden='true'></span>
<span class='mdc-tab__text-label'>TAB2</span></span>
<span class='mdc-tab-indicator'>
<span class='mdc-tab-indicator__content mdc-tab-indicator__content--underline'></span>
</span>
<span class='mdc-tab__ripple'></span>
</button>
</div>
</div>
</div>
</div>
.....
<script>
window.mdc.autoInit ();
</script>
I'm using de latest version of material-components-web
https://unpkg.com/material-components-web@latest/dist/material-components-web.css
https://unpkg.com/material-components-web@latest/dist/material-components-web.js
You can use the activateTab
function to activate a tab. For this you need the top bar instance. The documentation on mdc-auto-init
states that you can get the component instance via the element:
Once
mdc.autoInit()
is called, you can access the component instance via anMDCTextField
property on that element.
In your case the result is as follows:
var element = document.querySelector('[data-mdc-auto-init="MDCTabBar"]');
elem.MDCTabBar.activateTab(1);