aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2011-05-11 12:32:29 -0700
committerScott González <scott.gonzalez@gmail.com>2011-05-11 12:32:29 -0700
commitcaca915888133f70ad9ab13a3b84f9d95b07fcb9 (patch)
tree092df426cc3559d8e5b38fbd5c7ac246cd0e257d
parentffc983248d7b71fba4ea0aa271fb71e3202e93dc (diff)
parent4585182c703ba93e0cbb059319862c53e177f836 (diff)
downloadjquery-ui-caca915888133f70ad9ab13a3b84f9d95b07fcb9.tar.gz
jquery-ui-caca915888133f70ad9ab13a3b84f9d95b07fcb9.zip
Merge pull request #220 from kzys/trac-6850
Fixed #6850 - Disable datepicker should disable month and year dropdowns.
-rw-r--r--tests/unit/datepicker/datepicker_methods.js5
-rw-r--r--ui/jquery.ui.datepicker.js4
2 files changed, 8 insertions, 1 deletions
diff --git a/tests/unit/datepicker/datepicker_methods.js b/tests/unit/datepicker/datepicker_methods.js
index 8d078f099..7ef977604 100644
--- a/tests/unit/datepicker/datepicker_methods.js
+++ b/tests/unit/datepicker/datepicker_methods.js
@@ -102,16 +102,19 @@ test('enableDisable', function() {
ok(inp.next('img').css('opacity') == 1, 'Enable/disable image - image now enabled');
inp.datepicker('destroy');
// Inline
- var inl = init('#inl');
+ var inl = init('#inl', {changeYear: true});
var dp = $('.ui-datepicker-inline', inl);
ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - initially marked as enabled');
ok(!dp.children().is('.ui-state-disabled'), 'Enable/disable inline - not visually disabled initially');
+ ok(!dp.find('select').attr('disabled'), 'Enable/disable inline - form element enabled initially');
inl.datepicker('disable');
ok(inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as disabled');
ok(dp.children().is('.ui-state-disabled'), 'Enable/disable inline - visually disabled');
+ ok(dp.find('select').attr('disabled'), 'Enable/disable inline - form element disabled');
inl.datepicker('enable');
ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as enabled');
ok(!dp.children().is('.ui-state-disabled'), 'Enable/disable inline - not visiually disabled');
+ ok(!dp.find('select').attr('disabled'), 'Enable/disable inline - form element enabled');
inl.datepicker('destroy');
});
diff --git a/ui/jquery.ui.datepicker.js b/ui/jquery.ui.datepicker.js
index aec740aa5..e9955ce79 100644
--- a/ui/jquery.ui.datepicker.js
+++ b/ui/jquery.ui.datepicker.js
@@ -364,6 +364,8 @@ $.extend(Datepicker.prototype, {
else if (nodeName == 'div' || nodeName == 'span') {
var inline = $target.children('.' + this._inlineClass);
inline.children().removeClass('ui-state-disabled');
+ inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
+ removeAttr("disabled");
}
this._disabledInputs = $.map(this._disabledInputs,
function(value) { return (value == target ? null : value); }); // delete entry
@@ -387,6 +389,8 @@ $.extend(Datepicker.prototype, {
else if (nodeName == 'div' || nodeName == 'span') {
var inline = $target.children('.' + this._inlineClass);
inline.children().addClass('ui-state-disabled');
+ inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
+ attr("disabled", "disabled");
}
this._disabledInputs = $.map(this._disabledInputs,
function(value) { return (value == target ? null : value); }); // delete entry