我知道如何使用jquery选择/激活(以编程方式)materializecss中的选项卡(如文档中所述):
$('ul.tabs').tabs('select_tab', 'tab_id');
但是当我点击按钮时如何使用javascript或jquery获取materializecss中的活动(选定)选项卡的id?
答案 0 :(得分:1)
您可以使用活动类来获取当前活动选项卡。因此可以获取当前选项卡的ID。以下是演示
$(document).ready(function(){
$('ul.tabs').tabs();
});
$('#getID').click(function(){
console.log("Active Tab:"+$(".active").attr('id'));
console.log("Active Tab Div:"+$(".active").attr('href'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Compiled and minified CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/css/materialize.min.css">
<!-- Compiled and minified JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/js/materialize.min.js"></script>
<div class="row">
<div class="col s12">
<ul class="tabs">
<li class="tab col s3"><a href="#test1" id="1test">Test 1</a></li>
<li class="tab col s3"><a class="active" href="#test2" id="2test">Test 2</a></li>
<li class="tab col s3"><a href="#test4" id="4test">Test 4</a></li>
</ul>
</div>
<div id="test1" class="col s12">Test 1</div>
<div id="test2" class="col s12">Test 2</div>
<div id="test3" class="col s12">Test 3</div>
<div id="test4" class="col s12">Test 4</div>
</div>
<button id="getID">
GetID
</button>
答案 1 :(得分:0)
您可以使用jquery。由于活动标签将包含类active
,您可以使用它来获取标签ID。
$(function(){
$('#submit').click(function(){
alert($(".active").attr('id'));
});
});
这里有一个工作小提琴 http://jsfiddle.net/UTux2/
答案 2 :(得分:0)
试试这个
$("ul.tabs > li > a").click(function (e) {
var id = $(e.target).attr("href").substr(1);
window.location.hash = id;});
var hash = window.location.hash;
$('ul.tabs').tabs('select_tab', hash);
首先制作哈希ID,然后将其置于原位tab_id
答案 3 :(得分:0)
虽然上面的技术可能还可以,但是在materializecss中有官方的方法。
$('ul.tabs').tabs({
onShow: onShow,//Function to be called on tab Show event
swipeable: false,
responsiveThreshold: Infinity // breakpoint for swipeable
});
function onShow(tabOBJ){
console.log(tabOBJ.selector);
}
我希望这可以帮助你和其他人。