aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unit/datepicker/datepicker_options.js17
-rw-r--r--ui/jquery.ui.datepicker.js7
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/unit/datepicker/datepicker_options.js b/tests/unit/datepicker/datepicker_options.js
index 8b8888780..4b09face5 100644
--- a/tests/unit/datepicker/datepicker_options.js
+++ b/tests/unit/datepicker/datepicker_options.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'),
diff --git a/ui/jquery.ui.datepicker.js b/ui/jquery.ui.datepicker.js
index 9f480bf38..4ab1fa201 100644
--- a/ui/jquery.ui.datepicker.js
+++ b/ui/jquery.ui.datepicker.js
@@ -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);