Jquery-ui 1.9を使用してプログラムでタブを変更するにはどうすればよいですか?
注: stackoverflowで正しい答えを見つけるのに4回以上の検索が必要だったため、答えを投稿しました。 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>
select
メソッドは 1.9から非推奨 で、 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>
Sonjz 上で指定したように、idによる選択は非常に単純です...しかし、tabIdによる選択は難しいです..
var index = $('#tabs a[href="#tab_id"]').parent().index();
$("#tabs").tabs("option", "active", index);
これを試して
$('#tabs a[href="#tabs-2"]').tab('show')
ここに #tabs-2
は、切り替えるタブを意味します。
ありがとう。