Commit aec41a5c authored by Michał Gołębiowski's avatar Michał Gołębiowski

Attributes: Simplify the option val hook; backport a test from master

The hook is still defined; not using it could cause issues in IE<11.
Backport the test from the master branch.

Also, IE10 no longer throws when value not set but it still doesn't trim the
value. IE11 has all those issues fixed; support comments are updated.

(cherry-picked from f6302b0b53d61dfe1adbfaf6612be5cbced5bbc1)

Fixes gh-1902
Closes gh-1901
parent 90d7cc1d
...@@ -72,12 +72,9 @@ jQuery.extend({ ...@@ -72,12 +72,9 @@ jQuery.extend({
valHooks: { valHooks: {
option: { option: {
get: function( elem ) { get: function( elem ) {
var val = jQuery.find.attr( elem, "value" ); // Support: IE<11
return val != null ? // option.value not trimmed (#14858)
val : return jQuery.trim( elem.value );
// Support: IE10-11+
// option.text throws exceptions (#14686, #14858)
jQuery.trim( jQuery.text( elem ) );
} }
}, },
select: { select: {
......
...@@ -1459,6 +1459,11 @@ test( "should not throw at $(option).val() (#14686)", 1, function() { ...@@ -1459,6 +1459,11 @@ test( "should not throw at $(option).val() (#14686)", 1, function() {
} }
}); });
test( "option value not trimmed when setting via parent select", function() {
expect( 1 );
equal( jQuery( "<select><option> 2</option></select>" ).val( "2" ).val(), "2" );
});
test( "Insignificant white space returned for $(option).val() (#14858)", function() { test( "Insignificant white space returned for $(option).val() (#14858)", function() {
expect ( 3 ); expect ( 3 );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment