// Typecast once if the value is a number
if ( typeof value === "number" ) {
- value += '';
+ value += "";
}
var val = value;
// Typecast each time if the value is a Function and the appended
// value is therefore different each time.
if ( typeof val === "number" ) {
- val += '';
+ val += "";
}
}
}
if ( jQuery.isArray(val) && /radio|checkbox/.test( this.type ) ) {
- this.checked = jQuery.inArray(this.value || this.name, val) >= 0;
+ this.checked = jQuery.inArray( this.value, val ) >= 0;
} else if ( jQuery.nodeName( this, "select" ) ) {
var values = jQuery.makeArray(val);
jQuery( "option", this ).each(function() {
- this.selected = jQuery.inArray( this.value || this.text, values ) >= 0;
+ // IE 6 will return "" for the value if one isn't specified, instead of the text
+ var node = this.getAttributeNode("value");
+ this.selected = jQuery.inArray( node && node.specified ? node.value : this.value || this.text, values ) >= 0;
});
if ( !values.length ) {