1. Bug: programmatically setting selections on multiSELECT elements (<SELECT multiple>)
doesn't update value/selectedIndex properties, and doesn't fire onChange event
Summary: Several problems with MultiSELECTs (<SELECT multiple="true">) here...
Related docs: ??
Suggested Workarounds: ??
When its value property is programmatically set, its value and selectedIndex properties are not updated to match.
Click the "set value" button
Click the "get current value" button (and note differences)
Click the "get current selectedIndex" button (and note differences)
When its value OR selectedIndex properties are programmatically set, IE fails to fire the SELECT's onChange event.
Click any option (note that the onChange alert fires)
Click the "set value" button (the onChange alert does NOT fire)
Click the "set selectedIndex" button (the onChange alert does NOT fire)
Inconsistency: When its selectedIndex property is programmatically set, IE only fires the SELECT's onPropertyChange event IF the selectedIndex is changing. In contrast, setting the value property fires onPropertyChange even when set to the same value.
Click the "set value" button (note that both onChange and onPropertyChange alerts fire)
Click the "set value" button again (note that ONLY the onPropertyChange alert fires)
Bug demo:
2. Bug: resetting a SELECT element doesn't fire onChange or onPropertyChange event
Summary: resetting a form (either with a standard reset button or by a programmatic reset method call) never fires a contained SELECT's onChange or onPropertyChange events.
Related docs: ??
Suggested Workarounds: ??
Choose any option (the onChange and onPropertyChange alerts show)
Click either reset button (NO alerts show)
Bug demo:
3. Bug: SELECTs with relative font-sizes are misrendered when changing text-size
Summary: IE (v6, and presumably older versions) fails to correctly re-draw multi-line SELECT objects with relative font-sizes when changing the page's text-size (View menu > Text Size > any other size). It maintains artifacts of the original rectangle's visual contents over top of the new rectangle.
Screenshots: bug (in IE6)
Related docs: ??
Suggested Workarounds: ??
Bug demo (relative font sizes):
plain:
(The fieldset around the culprits doesn't affect the phenomenon.)
Reference demo (non-relative font-sizes):
plain:
size="4":
multiple:
4. Bug: SELECT elements ignore Z-index ("windowed element" problem)
This box has explicit relative positioning and z-index of 9. It should be above the SELECT elements.
The first 2 SELECTs have no positioning or z-index set (implicit z-index of 0).
The second two SELECTs have explicit relative positioning set and z-index of -9.
Summary: If you set the innerHTML property of a SELECT element (a way to add OPTION tags that's much faster than looping through long lists),
it truncates the first OPTION tag in the string and makes the SELECT appear blank
Related docs: KB276228 - Internet Explorer Fails to Set the innerHTML Property of the Select Object
Suggested Workarounds: Loop via script, or (for long lists) replace entire SELECT using outerHTML (side-effect: have to re-bind any event handlers)
Bug demo:
5. Bug: when disabled, SELECT elements' events don't fire