From cc7df712cc4ca90f6d6db599c5ff91b690921581 Mon Sep 17 00:00:00 2001 From: Mike Sherov Date: Mon, 19 Nov 2012 08:37:41 -0500 Subject: [PATCH] Button: properly escape button names. Fixes #7505 - Button: Buttonset not applied to radio group with quotation/apostrophe in name. --- tests/unit/button/button.html | 7 +++++++ tests/unit/button/button_events.js | 10 +++++++++- ui/jquery.ui.button.js | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/tests/unit/button/button.html b/tests/unit/button/button.html index b79ca1dc6..93f9af611 100644 --- a/tests/unit/button/button.html +++ b/tests/unit/button/button.html @@ -59,6 +59,13 @@ +
+
+ + + +
+
diff --git a/tests/unit/button/button_events.js b/tests/unit/button/button_events.js index 40d2a1a96..ad83101d0 100644 --- a/tests/unit/button/button_events.js +++ b/tests/unit/button/button_events.js @@ -1,8 +1,16 @@ /* * button_events.js */ -(function() { +(function($) { module("button: events"); +test("buttonset works with single-quote named elements (#7505)", function() { + expect( 1 ); + $("#radio3").buttonset(); + $("#radio33").click( function(){ + ok( true, "button clicks work with single-quote named elements" ); + }).click(); +}); + })(jQuery); diff --git a/ui/jquery.ui.button.js b/ui/jquery.ui.button.js index db04b63b8..508a0424a 100644 --- a/ui/jquery.ui.button.js +++ b/ui/jquery.ui.button.js @@ -29,6 +29,7 @@ var lastActive, startXPos, startYPos, clickDragged, form = radio.form, radios = $( [] ); if ( name ) { + name = name.replace( /'/g, "\\'" ); if ( form ) { radios = $( form ).find( "[name='" + name + "']" ); } else {