Fixed #4960 - Tabs: wrong selected tab index

This commit is contained in:
Richard Worth 2009-12-31 13:43:54 +00:00
parent 5ab4b615a5
commit 41749bf122
2 changed files with 12 additions and 2 deletions

View File

@ -30,7 +30,16 @@ test('show', function() {
});
test('add', function() {
ok(false, "missing test - untested code is broken code.");
var el = $('<div id="tabs"><ul></ul></div>').tabs();
equals(el.tabs('option', 'selected'), -1, 'Initially empty, no selected tab');
el.tabs('add', '#test1', 'Test 1');
equals(el.tabs('option', 'selected'), 0, 'First tab added should be auto selected');
el.tabs('add', '#test2', 'Test 2');
equals(el.tabs('option', 'selected'), 0, 'Second tab added should not be auto selected');
});
test('remove', function() {

View File

@ -150,7 +150,7 @@ $.widget("ui.tabs", {
if (typeof o.selected != 'number' && this.lis.filter('.ui-tabs-selected').length) {
o.selected = this.lis.index(this.lis.filter('.ui-tabs-selected'));
}
o.selected = o.selected || 0;
o.selected = o.selected || this.lis.length ? 0 : -1;
}
else if (o.selected === null) { // usage of null is deprecated, TODO remove in next release
o.selected = -1;
@ -468,6 +468,7 @@ $.widget("ui.tabs", {
this._tabify();
if (this.anchors.length == 1) { // after tabify
o.selected = 0;
$li.addClass('ui-tabs-selected ui-state-active');
$panel.removeClass('ui-tabs-hide');
this.element.queue("tabs", function() {