Fixes #8129. Fix cloning multiple selected options in IE8.
This commit is contained in:
parent
cb85da7b62
commit
fa4c90987f
2 changed files with 11 additions and 3 deletions
|
@ -503,6 +503,8 @@ jQuery.extend({
|
||||||
// proprietary methods to clear the events. Thanks to MooTools
|
// proprietary methods to clear the events. Thanks to MooTools
|
||||||
// guys for this hotness.
|
// guys for this hotness.
|
||||||
|
|
||||||
|
cloneFixAttributes( elem, clone );
|
||||||
|
|
||||||
// Using Sizzle here is crazy slow, so we use getElementsByTagName
|
// Using Sizzle here is crazy slow, so we use getElementsByTagName
|
||||||
// instead
|
// instead
|
||||||
srcElements = elem.getElementsByTagName("*");
|
srcElements = elem.getElementsByTagName("*");
|
||||||
|
@ -514,8 +516,6 @@ jQuery.extend({
|
||||||
for ( i = 0; srcElements[i]; ++i ) {
|
for ( i = 0; srcElements[i]; ++i ) {
|
||||||
cloneFixAttributes( srcElements[i], destElements[i] );
|
cloneFixAttributes( srcElements[i], destElements[i] );
|
||||||
}
|
}
|
||||||
|
|
||||||
cloneFixAttributes( elem, clone );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy the events from the original to the clone
|
// Copy the events from the original to the clone
|
||||||
|
|
|
@ -1006,7 +1006,7 @@ test("clone()", function() {
|
||||||
|
|
||||||
test("clone(form element) (Bug #3879, #6655)", function() {
|
test("clone(form element) (Bug #3879, #6655)", function() {
|
||||||
expect(6);
|
expect(6);
|
||||||
element = jQuery("<select><option>Foo</option><option selected>Bar</option></select>");
|
var element = jQuery("<select><option>Foo</option><option selected>Bar</option></select>");
|
||||||
|
|
||||||
equals( element.clone().find("option:selected").val(), element.find("option:selected").val(), "Selected option cloned correctly" );
|
equals( element.clone().find("option:selected").val(), element.find("option:selected").val(), "Selected option cloned correctly" );
|
||||||
|
|
||||||
|
@ -1026,6 +1026,14 @@ test("clone(form element) (Bug #3879, #6655)", function() {
|
||||||
equals( clone[0].defaultValue, "foo", "Textarea defaultValue cloned correctly" );
|
equals( clone[0].defaultValue, "foo", "Textarea defaultValue cloned correctly" );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("clone(multiple selected options) (Bug #8129)", function() {
|
||||||
|
expect(1);
|
||||||
|
var element = jQuery("<select><option>Foo</option><option selected>Bar</option><option selected>Baz</option></select>");
|
||||||
|
|
||||||
|
equals( element.clone().find("option:selected").length, element.find("option:selected").length, "Multiple selected options cloned correctly" );
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
if (!isLocal) {
|
if (!isLocal) {
|
||||||
test("clone() on XML nodes", function() {
|
test("clone() on XML nodes", function() {
|
||||||
expect(2);
|
expect(2);
|
||||||
|
|
Loading…
Add table
Reference in a new issue