From 780cac802b32a0125c467a644b3803be378ae6ab Mon Sep 17 00:00:00 2001 From: Timmy Willison Date: Fri, 15 Jan 2016 16:48:52 -0500 Subject: Attributes: fix setting selected on an option in IE<=11 Fixes gh-2732 Close gh-2840 --- src/attributes/prop.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/attributes/prop.js b/src/attributes/prop.js index da7bc1e86..15128b8ce 100644 --- a/src/attributes/prop.js +++ b/src/attributes/prop.js @@ -79,6 +79,12 @@ jQuery.extend( { } } ); +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup if ( !support.optSelected ) { jQuery.propHooks.selected = { get: function( elem ) { @@ -87,6 +93,16 @@ if ( !support.optSelected ) { parent.parentNode.selectedIndex; } return null; + }, + set: function( elem ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } } }; } -- cgit v1.2.3