aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unit/button/button_defaults.js2
-rw-r--r--tests/unit/button/button_options.js24
-rw-r--r--ui/jquery.ui.button.js5
3 files changed, 30 insertions, 1 deletions
diff --git a/tests/unit/button/button_defaults.js b/tests/unit/button/button_defaults.js
index e1657854a..b81fa7cbb 100644
--- a/tests/unit/button/button_defaults.js
+++ b/tests/unit/button/button_defaults.js
@@ -3,7 +3,7 @@
*/
var button_defaults = {
- disabled: false,
+ disabled: null,
text: true,
label: null,
icons: {
diff --git a/tests/unit/button/button_options.js b/tests/unit/button/button_options.js
index 6ee8ab541..5b25ecd63 100644
--- a/tests/unit/button/button_options.js
+++ b/tests/unit/button/button_options.js
@@ -5,6 +5,30 @@
module("button: options");
+test("disabled, explicity value", function() {
+ $("#radio01").button({ disabled: false });
+ same(false, $("#radio01").button("option", "disabled"),
+ "disabled option set to false");
+ same(false, $("#radio01").attr("disabled"), "element is disabled");
+
+ $("#radio02").button({ disabled: true });
+ same(true, $("#radio02").button("option", "disabled"),
+ "disabled option set to true");
+ same(true, $("#radio02").attr("disabled"), "element is not disabled");
+});
+
+test("disabled, null", function() {
+ $("#radio01").button({ disabled: null });
+ same(false, $("#radio01").button("option", "disabled"),
+ "disabled option set to false");
+ same(false, $("#radio01").attr("disabled"), "element is disabled");
+
+ $("#radio02").attr("disabled", "disabled").button({ disabled: null });
+ same(true, $("#radio02").button("option", "disabled"),
+ "disabled option set to true");
+ same(true, $("#radio02").attr("disabled"), "element is not disabled");
+});
+
test("text false without icon", function() {
$("#button").button({
text: false
diff --git a/ui/jquery.ui.button.js b/ui/jquery.ui.button.js
index 7d21fa495..5e52fb4cb 100644
--- a/ui/jquery.ui.button.js
+++ b/ui/jquery.ui.button.js
@@ -44,6 +44,7 @@ var lastActive,
$.widget( "ui.button", {
options: {
+ disabled: null,
text: true,
label: null,
icons: {
@@ -56,6 +57,10 @@ $.widget( "ui.button", {
.unbind( "reset.button" )
.bind( "reset.button", formResetHandler );
+ if ( typeof this.options.disabled !== "boolean" ) {
+ this.options.disabled = this.element.attr( "disabled" );
+ }
+
this._determineButtonType();
this.hasTitle = !!this.buttonElement.attr( "title" );