jQuery UI Tabs - Show all Tab

谁说我不能喝 提交于 2019-12-05 12:38:54

Firstly, fix the html code within your tabs. You are missing the </a> for all the links.

Then change your last tab to:

<li><a href="#tabs-4"> Show All </a></li>

add another panel (can be empty):

<fieldset id="tabs-4"></fieldset>  

And change your javascript to this:

var user_tabs = $("#tabs").tabs({
    show: function(event, ui) {

        if (ui.index == 3) {

            $("fieldset[id^='tabs-']").removeClass('ui-tabs-hide');
            $("fieldset[id='tabs-4']").addClass('ui-tabs-hide');
        } 
    }
});

(Note the change from select to show)

Example: http://jsfiddle.net/niklasvh/km7Le/

This works (for me) in jQuery-ui-1.10.0. Note that I use divs, not fieldsets as done in the question.

//Do the tabs
$('#tabs').tabs({
    activate: function (event, ui) {
        if (ui.newPanel.selector == "#tabs-4") {
            $("div[id^='tabs-']").attr('style', "display:block;");
            $("div[id^='tabs-']").attr('aria-expanded', true);
            $("div[id^='tabs-']").attr('aria-hidden', false);
        }
        else {
            $("div[id^='tabs-']").attr('style', "display:none;");
            $("div[id^='tabs-']").attr('aria-expanded', false);
            $("div[id^='tabs-']").attr('aria-hidden', true);
            $(ui.newPanel.selector).attr('style', "display:block;");
            $(ui.newPanel.selector).attr('aria-expanded', true);
            $(ui.newPanel.selector).attr('aria-hidden', false);
        }
    }
});

In version jQuery UI 1.12 event changed to 'beforeActivate' and 'ui' and returns arguments newTab

So new function will look like:

var user_tabs = $("#tabs").tabs({
    beforeActivate: function(event, ui) {

        if (ui.newTab.find('a').attr('href') === '#tabs-4') {

            $("fieldset[id^='tabs-']").removeClass('ui-tabs-hide');
            $("fieldset[id='tabs-4']").addClass('ui-tabs-hide');
        } 
    }
});

In JQuery UI Tabs 1.12.1, this works perfectly:

var user_tabs = $("#tabs").tabs(
    {activate: 
        function(event, ui) {
            if ( ui.newTab.find('a').attr('href') === '#tabs-4') {
                $("div[id^='tabs-']").show();
            }
        }
    }
)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!