如何使用jquery-ui 1.9以编程方式更改标签?
注意:发布答案,因为我花了4次以上的搜索才能在stackoverflow上找到正确的答案。它出现在1.9中,API已更改,在早期版本中,您将使用$("#tabs").tabs("select", 2)
。
<script>
$(document).ready(function() {
$("#tabs").tabs();
// assume you want to change to the 3rd tab after 3 seconds
setTimeout(function() {
// ???
}, 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 :(得分:43)
select
方法为deprecated since 1.9,且为removed in 1.10。请改用active
选项。
示例(jsfiddle也提供):
<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>
答案 1 :(得分:7)
根据id的选择非常简单,因为上面指定的Sonjz ...但根据tabId的选择比较棘手..我只是想分享它以防任何人需要
var index = $('#tabs a[href="#tab_id"]').parent().index();
$("#tabs").tabs("option", "active", index);
答案 2 :(得分:5)
试试这个
$('#tabs a[href="#tabs-2"]').tab('show')
此处#tabs-2
表示您要切换的标签。
感谢。
答案 3 :(得分:1)
如果在标签列表元素中添加ID,则可以使用jQuery click()方法模拟点击。
例如,单击选项卡外部的按钮时,以下内容将激活tab2:
<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>