#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: | ||
Blocked by: | Blocking: |
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 (1)
Change History (3)
Changed 15 years ago by
Attachment: | jquery_test.html added |
---|
comment:1 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
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.
test case (based on description)