Button: Adding quotes to the attribute selector for labels - Fixes #7534 - Button label selector omits quotes / fails for ids with ":"

This commit is contained in:
Corey Frang
2011-08-03 22:16:34 -05:00
parent 6fb68568be
commit 065aef537b
2 changed files with 7 additions and 1 deletions

View File

@@ -50,4 +50,10 @@ test( "#7092 - button creation that requires a matching label does not find labe
ok( group.find( "label" ).is( ".ui-button" ) );
});
test( "#7534 - Button label selector works for ids with \":\"", function() {
var group = $( "<span><input type='checkbox' id='check:7534'><label for='check:7534'>Label</label></span>" );
group.find( "input" ).button();
ok( group.find( "label" ).is( ".ui-button" ), "Found an id with a :" );
});
})( jQuery );

View File

@@ -229,7 +229,7 @@ $.widget( "ui.button", {
// we don't search against the document in case the element
// is disconnected from the DOM
var ancestor = this.element.parents().last(),
labelSelector = "label[for=" + this.element.attr("id") + "]";
labelSelector = "label[for='" + this.element.attr("id") + "']";
this.buttonElement = ancestor.find( labelSelector );
if ( !this.buttonElement.length ) {
ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();