Ticket #8570 (closed bug: fixed)
.val method returning "on" for dynamically created radio buttons in ie9
|Reported by:||garybentley||Owned by:||timmywil|
- jquery version: 1.5.1
- browser version: IE 9.0.8112.16421 (other browsers not affected)
- os + version: Windows 7
If you dynamically create a radio button via "createElement" and then use the :checked selector and the val method to retrieve the value "on" is returned in ie9. This doesn't happen with a radio button created via HTML.
<div id="test"></div><input type="submit" onclick="window.alert (jQuery('#test input:checked').val ());" value="Click Me!" /><script src="/js/jquery-1.5.1.js"></script><script> jQuery.noConflict (); var el = window.document.createElement ('input'); el.setAttribute ('name', 'hello'); el.setAttribute ('value', 'world'); el.setAttribute ('type', 'radio'); jQuery('#test').append (el); </script>
The expected output is "world" but "on" is returned.
If you use standard html such as:
<input type="radio" name="hello" value="world" />
Then "world" is returned as expected.
This problem doesn't happen in ie8 but in ie8 and below you have to use createElement with the full html specified for the element.
- Owner set to garybentley
- Status changed from new to pending
- Component changed from unfiled to attributes
- Priority changed from undecided to high
- Status changed from pending to open
- Owner changed from garybentley to timmywil
- Status changed from open to assigned
- Milestone changed from 1.next to 1.6