Skip to content
Permalink
Browse files

Datepicker: Handle changes to the disabled option. Fixes #8883 - Date…

…picker: Changing disabled option doesn't work.
  • Loading branch information
scottgonzalez committed Dec 5, 2012
1 parent 3c2acc3 commit 598cdae199fed9b3aa1700142e8e00a61fc6e61a
Showing with 24 additions and 0 deletions.
  1. +17 −0 tests/unit/datepicker/datepicker_options.js
  2. +7 −0 ui/jquery.ui.datepicker.js
@@ -48,6 +48,23 @@ test('option', function() {
'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() {
expect( 12 );
var inp = TestHelpers.datepicker.init('#inp'),
@@ -497,6 +497,13 @@ $.extend(Datepicker.prototype, {
if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
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._autoSize(inst);
this._setDate(inst, date);

0 comments on commit 598cdae

Please sign in to comment.
You can’t perform that action at this time.