Datepicker: Handle changes to the disabled option. Fixes #8883 - Datepicker: Changing disabled option doesn't work.

This commit is contained in:
Scott González 2012-12-05 10:38:31 -05:00
parent 3c2acc3227
commit 598cdae199
2 changed files with 24 additions and 0 deletions

View File

@ -48,6 +48,23 @@ test('option', function() {
'Get default settings'); 'Get default settings');
}); });
test( "disabled", function() {
expect(8);
var inp = TestHelpers.datepicker.init('#inp');
ok(!inp.datepicker('isDisabled'), 'Initially marked as enabled');
ok(!inp[0].disabled, 'Field initially enabled');
inp.datepicker('option', 'disabled', true);
ok(inp.datepicker('isDisabled'), 'Marked as disabled');
ok(inp[0].disabled, 'Field now disabled');
inp.datepicker('option', 'disabled', false);
ok(!inp.datepicker('isDisabled'), 'Marked as enabled');
ok(!inp[0].disabled, 'Field now enabled');
inp.datepicker('destroy');
inp = TestHelpers.datepicker.init('#inp', { disabled: true });
ok(inp.datepicker('isDisabled'), 'Initially marked as disabled');
ok(inp[0].disabled, 'Field initially disabled');
})
test('change', function() { test('change', function() {
expect( 12 ); expect( 12 );
var inp = TestHelpers.datepicker.init('#inp'), var inp = TestHelpers.datepicker.init('#inp'),

View File

@ -497,6 +497,13 @@ $.extend(Datepicker.prototype, {
if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) { if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
inst.settings.maxDate = this._formatDate(inst, maxDate); inst.settings.maxDate = this._formatDate(inst, maxDate);
} }
if ( "disabled" in settings ) {
if ( settings.disabled ) {
this._disableDatepicker(target);
} else {
this._enableDatepicker(target);
}
}
this._attachments($(target), inst); this._attachments($(target), inst);
this._autoSize(inst); this._autoSize(inst);
this._setDate(inst, date); this._setDate(inst, date);