mirror of
https://github.com/jquery/jquery.git
synced 2026-02-01 14:54:57 -05:00
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 f6302b0b53)
Fixes gh-1902
Closes gh-1901
This commit is contained in:
@@ -72,12 +72,9 @@ jQuery.extend({
|
||||
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: {
|
||||
|
||||
@@ -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() {
|
||||
expect ( 3 );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user