#1789 closed bug (fixed)
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: | |
Blocked by: | Blocking: |
Description (last modified by )
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 (4)
comment:1 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 15 years ago by
Status: | new → assigned |
---|
comment:3 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:4 Changed 11 years ago by
Note: See
TracTickets for help on using
tickets.
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.