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
valHooks: {
option: {
get: function( elem ) {
- var val = jQuery.find.attr( elem, "value" );
- return val != null ?
- val :
- // Support: IE10-11+
- // option.text throws exceptions (#14686, #14858)
- jQuery.trim( jQuery.text( elem ) );
+ // Support: IE<11
+ // option.value not trimmed (#14858)
+ return jQuery.trim( elem.value );
}
},
select: {
}
});
+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() {
expect ( 3 );