繁体   English   中英

JQuery UI 1.11将选项卡设置为活动状态

[英]JQuery UI 1.11 Set tab to active

我有Jquery 1.11,我已经尝试了几个小时来将新创建的选项卡设置为活动并显示它。

的jsfiddle

我还想在选项卡上添加“x”以关闭选项卡。

我在这里经历了很多帖子,它们主要是针对较旧的弃用方法。

使用Javascript:

$(function() {
  var tabs = $( "#search-tabs" ).tabs({
        heightStyle: "fill"
    });
    tabs.find( ".ui-tabs-nav" ).sortable({
        axis: "x",
        stop: function() {
            tabs.tabs("refresh");
        }
    });


    $('button#addtab').click(function(){
        var num_tabs = $("div#search-tabs ul li").length + 1;

        $("div#search-tabs ul").prepend(
            "<li><a href='#s-tab" + num_tabs + "'>#" + num_tabs + "</a></li>"
        );

        $("div#search-tabs").append(
            "<div id='s-tab" + num_tabs + "'>#" + num_tabs + "</div>"
        );

        $("#search-tabs").tabs("refresh");
});

});

视图:

  <button id="addtab">Add Tab</button>
  <div id="search-tabs" >
    <ul>
    </ul>
  </div>

你得到了你想要的前半部分:调用.tabs("refresh")会导致新选项卡被选中并添加到列表中。 在您刷新选项卡后,您所缺少的只是设置活动选项卡。 查看jQuery UI选项卡的API文档 ,我们将看到Tabs API中有一个名为“active”的选项。

活性

类型:布尔值或整数

默认值:0

哪个面板目前是开放的。 支持多种类型:

  • Boolean:将active设置为false将折叠所有面板。 这要求可折叠选项为真。

  • 整数:活动(打开)的面板的从零开始的索引。 负值选择从最后一个面板向后移动的面板。

这将是我们需要改变的选择。 查看可用的方法,我们将看到这可以使用option( optionName, value )方法完成,如下所示:

$("#search-tabs").tabs("refresh");
$("#search-tabs").tabs( "option", "active", 0 );

由于您的新标签被添加到第一个位置,您只需将活动选项设置为零,并指向新添加的标签!

这是关于jsFiddle的演示: http//jsfiddle.net/pb39g4b3/

正如@sphanley建议的那样。 使用$("#search-tabs").tabs( "option", "active", 0 ); 这是正确的做法。

此外,您可以实现此处所示的关闭功能。

以下是包含您请求的所有功能的演示链接。 http://jsfiddle.net/eeLrgxxt/7/

你可以这样做

http://jsfiddle.net/dm96hvb9/

你需要附加class =“ui-tabs-active ui-state-active”然后显示匹配的div

$('button#addtab').click(function(){
    var num_tabs = $("div#search-tabs ul li").length + 1;

    // remove any active tab
    $('#search-tabs li').removeClass('ui-state-active');
    $('#search-tabs li').removeClass('ui-tabs-active');

    // added the active class to the li
    $("div#search-tabs ul").prepend(
        "<li class='ui-tabs-active ui-state-active'><a href='#s-tab" + num_tabs + "'>#" + num_tabs + "</a></li>"
    );

    $("div#search-tabs").append(
        "<div id='s-tab" + num_tabs + "'>#" + num_tabs + "</div>"
    );

    $("#search-tabs").tabs("refresh");

    //show the active div
    $("#s-tab"+num_tabs).show();

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM