Ticket #1916 (closed bug: fixed)
Last option in SELECT is selected when options set using .html(strHtml) in Firefox/Mozilla
| Reported by: | doug | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 1.2.2 |
| Component: | core | Version: | 1.2.1 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
Using .html() to set the options in a SELECT element selects the last option in the last regardless of which options have the 'selected' attribute. The problem occurs in Firefox 2, not IE 7.
Example, <select id="sel"></select>
$('#sel').html('<option>a</option><option selected>b</option><option>c</option>');
displays with 'c' shown as selected when it should be 'b'.
SOLUTION:
domManip: function(args, table, dir, fn) {
: return this.each(function(){
: jQuery.each( a, function(){
var elem = clone ... if ( !evalScr...
fn.call( obj...
});
/* SOLUTION BEGIN */ if (jQuery.nodeName(this, "select")) {
jQuery.each( this.options, function(){
this.selected = this.defaultSelected; Needed for Firefox, which always selects last option
});
} /* SOLUTION END */
});
}
Attachments
Change History
Changed 5 years ago by davidserduke
-
attachment
jquery_test.html
added
comment:1 Changed 5 years ago by davidserduke
- Status changed from new to closed
- Resolution set to fixed
This appears to be fixed. I suspect it was the fix [3844] that did it.
Since I didn't do it on purpose and test before and after, if someone sees a problem that I'm overlooking please reopen the bug.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

test case (based on description)