Bug Tracker

Opened 13 years ago

Closed 13 years ago

Last modified 8 years ago

#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)

jquery_test.html (742 bytes) - added by davidserduke 13 years ago.
test case (based on description)

Download all attachments as: .zip

Change History (3)

Changed 13 years ago by davidserduke

Attachment: jquery_test.html added

test case (based on description)

comment:1 Changed 13 years ago by davidserduke

Resolution: fixed
Status: newclosed

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.

comment:2 Changed 12 years ago by doug

Retested with jQuery 1.2.2 and it appears to be working. Thanks!

Note: See TracTickets for help on using tickets.