Permalink
Browse files

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 f6302b0)

Fixes gh-1902
Closes gh-1901
  • Loading branch information...
mgol committed Dec 4, 2014
1 parent 90d7cc1 commit aec41a5c41df5a1b9a062950d90babdc0694b084
Showing with 8 additions and 6 deletions.
  1. +3 −6 src/attributes/val.js
  2. +5 −0 test/unit/attributes.js
View
@@ -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: {
View
@@ -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 );

0 comments on commit aec41a5

Please sign in to comment.