Button: Ignore non-radio elements with the same name

Fixes #8761
Closes gh-1185
This commit is contained in:
TJ VanToll 2014-01-28 10:46:23 -05:00
parent fa23894dff
commit ccb13240dd
2 changed files with 16 additions and 2 deletions

View File

@ -53,6 +53,20 @@ test("radio groups", function() {
assert(":eq(1)", ":eq(0)", ":eq(0)"); assert(":eq(1)", ":eq(0)", ":eq(0)");
}); });
test( "radio groups - ignore elements with same name", function() {
expect( 1 );
var form = $( "form:first" ),
radios = form.find( "[type=radio]" ).button(),
checkbox = $( "<input>", {
type: "checkbox",
name: radios.attr( "name" )
});
form.append( checkbox );
radios.button( "refresh" );
ok( true, "no exception from accessing button instance of checkbox" );
});
test("input type submit, don't create child elements", function() { test("input type submit, don't create child elements", function() {
expect( 2 ); expect( 2 );
var input = $("#submit"); var input = $("#submit");

View File

@ -40,9 +40,9 @@ var lastActive,
if ( name ) { if ( name ) {
name = name.replace( /'/g, "\\'" ); name = name.replace( /'/g, "\\'" );
if ( form ) { if ( form ) {
radios = $( form ).find( "[name='" + name + "']" ); radios = $( form ).find( "[name='" + name + "'][type=radio]" );
} else { } else {
radios = $( "[name='" + name + "']", radio.ownerDocument ) radios = $( "[name='" + name + "'][type=radio]", radio.ownerDocument )
.filter(function() { .filter(function() {
return !this.form; return !this.form;
}); });