Side navigation
#1916 closed bug (fixed)
Opened November 12, 2007 10:17PM UTC
Closed November 29, 2007 05:40PM UTC
Last modified March 15, 2012 06:37PM UTC
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 */
});
}
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.