Skip to content

Commit 2b84107

Browse files
kzysscottgonzalez
authored andcommitted
Datepicker: Disabled datepicker should disable own select element too. Fixed #6850 - Disable datepicker should disable month and year dropdowns.
(cherry picked from commit 4585182)
1 parent 3edda96 commit 2b84107

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

tests/unit/datepicker/datepicker_methods.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,16 +107,19 @@ test('enableDisable', function() {
107107
ok(inp.next('img').css('opacity') == 1, 'Enable/disable image - image now enabled');
108108
inp.datepicker('destroy');
109109
// Inline
110-
var inl = init('#inl');
110+
var inl = init('#inl', {changeYear: true});
111111
var dp = $('.ui-datepicker-inline', inl);
112112
ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - initially marked as enabled');
113113
ok(!dp.children().is('.ui-state-disabled'), 'Enable/disable inline - not visually disabled initially');
114+
ok(!dp.find('select').attr('disabled'), 'Enable/disable inline - form element enabled initially');
114115
inl.datepicker('disable');
115116
ok(inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as disabled');
116117
ok(dp.children().is('.ui-state-disabled'), 'Enable/disable inline - visually disabled');
118+
ok(dp.find('select').attr('disabled'), 'Enable/disable inline - form element disabled');
117119
inl.datepicker('enable');
118120
ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as enabled');
119121
ok(!dp.children().is('.ui-state-disabled'), 'Enable/disable inline - not visiually disabled');
122+
ok(!dp.find('select').attr('disabled'), 'Enable/disable inline - form element enabled');
120123
inl.datepicker('destroy');
121124
});
122125

ui/jquery.ui.datepicker.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,8 @@ $.extend(Datepicker.prototype, {
364364
else if (nodeName == 'div' || nodeName == 'span') {
365365
var inline = $target.children('.' + this._inlineClass);
366366
inline.children().removeClass('ui-state-disabled');
367+
inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
368+
removeAttr("disabled");
367369
}
368370
this._disabledInputs = $.map(this._disabledInputs,
369371
function(value) { return (value == target ? null : value); }); // delete entry
@@ -387,6 +389,8 @@ $.extend(Datepicker.prototype, {
387389
else if (nodeName == 'div' || nodeName == 'span') {
388390
var inline = $target.children('.' + this._inlineClass);
389391
inline.children().addClass('ui-state-disabled');
392+
inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
393+
attr("disabled", "disabled");
390394
}
391395
this._disabledInputs = $.map(this._disabledInputs,
392396
function(value) { return (value == target ? null : value); }); // delete entry

0 commit comments

Comments
 (0)