17

jQuery UI ダイアログ ウィンドウ内で jQuery UI タブを使用しています。

ダイアログボタンの1つをクリックしたときに現在のタブのIDを見つける必要があるインスタンスに遭遇しました。jQuery UI のタブとダイアログによって生成された HTML を見ると、これを行う方法が本当に見つかりません。タブを保持する<ul>要素は<div>、ダイアログ ボタンのグループから約 3 秒離れています。

私は試した:

$("#DialogBox").dialog({
    autoOpen: false,
    modal: true,
    buttons: [
        {
        text: "Save",
        click: function () {
        var currentTabId = $(this).closest("ul").attr("id");
        alert(currentTabId);

しかし、「未定義」のアラートが返されます。

これを行う方法はありますか?

ありがとう

4

11 に答える 11

10

JQuery UI 1.11+の場合、これは私にとってはうまくいきました:

$("ul>.ui-tabs-active").attr('aria-controls');
于 2014-07-31T12:42:01.440 に答える
3

私にとってうまくいったのは:

var current_tab = $("#tabs .ui-state-active a").attr('href');
于 2016-05-30T12:47:39.330 に答える
3

マニュアルhttp://api.jqueryui.com/tabs/によると、アクティブな JqueryUI タブのゲッターは

var active = $( ".selector" ).tabs( "option", "active" );

".selector"お手持ちのものと交換してください。

次にactive.attr( 'id' )、必要なものを正確に返します。

于 2013-04-30T19:14:17.137 に答える
2
//for getting selected tabs

var tabs = $("#tabs").children().find(".current").attr('href');
于 2016-03-24T05:02:21.710 に答える
1

ui tabs コンテナーの ID が tab-container であるとします。作業スニペットは

$('#tab-container').find('>div:nth-of-type(' + ($('#tab-container').tabs("option", "active") + 1) + ')'); 

jQuery UI v1.11.2、jQuery v1.11.3、Chrome 45 でテスト済み。

于 2015-09-11T05:09:53.520 に答える