Fix for incorrect options being selected (noticed same problem with radio/checkbox and fixed it there, as well). Fixes #4962.

This commit is contained in:
John Resig 2009-07-23 22:16:29 +00:00
parent 0a6c5205d2
commit 9c9dd7cede

View file

@ -100,15 +100,13 @@ jQuery.fn.extend({
return;
if ( jQuery.isArray(val) && /radio|checkbox/.test( this.type ) )
this.checked = (jQuery.inArray(this.value, val) >= 0 ||
jQuery.inArray(this.name, val) >= 0);
this.checked = jQuery.inArray(this.value || this.name, val) >= 0;
else if ( jQuery.nodeName( this, "select" ) ) {
var values = jQuery.makeArray(val);
jQuery( "option", this ).each(function(){
this.selected = (jQuery.inArray( this.value, values ) >= 0 ||
jQuery.inArray( this.text, values ) >= 0);
this.selected = jQuery.inArray( this.value || this.text, values ) >= 0;
});
if ( !values.length )