]> source.dussan.org Git - jquery-ui.git/commitdiff
Datepicker: Disabled datepicker should disable own select element too. Fixed #6850... 220/head
authorKato Kazuyoshi <kato.kazuyoshi@gmail.com>
Fri, 6 May 2011 19:28:19 +0000 (04:28 +0900)
committerKato Kazuyoshi <kato.kazuyoshi@gmail.com>
Fri, 6 May 2011 19:53:37 +0000 (04:53 +0900)
tests/unit/datepicker/datepicker_methods.js
ui/jquery.ui.datepicker.js

index 8d078f099aa91e02718d222185950dd325755383..7ef9776042bcba02139a21442d152ebd271753a3 100644 (file)
@@ -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');
 });
 
index 92c005d19a4d5897d2d5eeaf0c0570c571288fe2..98baf65ab4f6493dd42ac8151fb969f839084789 100644 (file)
@@ -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