Skip to content

Commit 598cdae

Browse files
committed
Datepicker: Handle changes to the disabled option. Fixes #8883 - Datepicker: Changing disabled option doesn't work.
1 parent 3c2acc3 commit 598cdae

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

tests/unit/datepicker/datepicker_options.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,23 @@ test('option', function() {
4848
'Get default settings');
4949
});
5050

51+
test( "disabled", function() {
52+
expect(8);
53+
var inp = TestHelpers.datepicker.init('#inp');
54+
ok(!inp.datepicker('isDisabled'), 'Initially marked as enabled');
55+
ok(!inp[0].disabled, 'Field initially enabled');
56+
inp.datepicker('option', 'disabled', true);
57+
ok(inp.datepicker('isDisabled'), 'Marked as disabled');
58+
ok(inp[0].disabled, 'Field now disabled');
59+
inp.datepicker('option', 'disabled', false);
60+
ok(!inp.datepicker('isDisabled'), 'Marked as enabled');
61+
ok(!inp[0].disabled, 'Field now enabled');
62+
inp.datepicker('destroy');
63+
64+
inp = TestHelpers.datepicker.init('#inp', { disabled: true });
65+
ok(inp.datepicker('isDisabled'), 'Initially marked as disabled');
66+
ok(inp[0].disabled, 'Field initially disabled');
67+
})
5168
test('change', function() {
5269
expect( 12 );
5370
var inp = TestHelpers.datepicker.init('#inp'),

ui/jquery.ui.datepicker.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,13 @@ $.extend(Datepicker.prototype, {
497497
if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
498498
inst.settings.maxDate = this._formatDate(inst, maxDate);
499499
}
500+
if ( "disabled" in settings ) {
501+
if ( settings.disabled ) {
502+
this._disableDatepicker(target);
503+
} else {
504+
this._enableDatepicker(target);
505+
}
506+
}
500507
this._attachments($(target), inst);
501508
this._autoSize(inst);
502509
this._setDate(inst, date);

0 commit comments

Comments
 (0)