Bug Tracker

Modify

Ticket #1789 (closed bug: fixed)

Opened 6 years ago

Last modified 10 months ago

Impossible to initialize an empty tabset

Reported by: klaus Owned by: klaus
Priority: minor Milestone: 1.2.2
Component: ui Version: 1.2.1
Keywords: tabs Cc:
Blocking: Blocked by:

Description (last modified by klaus) (diff)

There is no possibility to initialize an empty tabset (e.g. to add all tabs dynamically.

Small fix in tabify() method (line 183) make things better:

if (this.$tabs.length && $.data(this.$tabs[o.initial], 'href')) {

Lines 362-373 of ui.tabs.js (add method):

 if (url.indexOf('#') == 0) { // ajax container is created by tabify automatically
  var $container = $(url);
  // try to find an existing element before creating a new one
  $container = ($container.length && $container || $('<div id="' + url.replace('#', '') + '" class="' + o.containerClass + ' ' + o.hideClass + '"></div>'))
    [method](position > 0 ? this.$containers[position - 1] : $(this.source));
}
var $foo = $('<li><a href="' + url + '"><span>' + text + '</span></a></li>'); 
if(position > 0) $foo[method](this.$tabs.slice(position - 1, position).parents('li:eq(0)'));
else {
  $foo.appendTo($(this.source));
  $container.removeClass('ui-tabs-hide');
}

Basically we've to check if this.$tabs array is not empty...

Change History

comment:1 Changed 6 years ago by klaus

  • Description modified (diff)

comment:2 Changed 6 years ago by klaus

  • Status changed from new to assigned

comment:3 Changed 6 years ago by klaus

  • Status changed from assigned to closed
  • Resolution set to fixed

comment:4 Changed 10 months ago by Nick Kusters <jquery@…>

Error Still Exists. See  http://jsfiddle.net/zmRT8/18/ for Bug demo + workaround. Fix in the source should be as simple as checking if the UL element exists when calling .add, and adding it if it doesn't.

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.