diff --git a/src/attributes.js b/src/attributes.js index 787c6bbe..91a0fe17 100644 --- a/src/attributes.js +++ b/src/attributes.js @@ -164,7 +164,7 @@ jQuery.fn.extend({ var values = jQuery.makeArray(val); jQuery( "option", this ).each(function() { - this.selected = jQuery.inArray( this.value || this.text, values ) >= 0; + this.selected = jQuery.inArray( this.value, values ) >= 0; }); if ( !values.length ) { diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index 03f8f32c..7521c767 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -619,7 +619,7 @@ test("clone() on XML nodes", function() { } test("val()", function() { - expect(9); + expect(11); document.getElementById('text1').value = "bla"; equals( jQuery("#text1").val(), "bla", "Check for modified value of input element" ); @@ -641,6 +641,11 @@ test("val()", function() { equals( jQuery('#option3e').val(), 'no value', 'Call val() on a option element with no value attribute' ); + equals( jQuery('#option3a').val(), '', 'Call val() on a option element with no value attribute' ); + + jQuery('#select3').val(""); + same( jQuery('#select3').val(), [''], 'Call val() on a multiple="multiple" select' ); + }); var testVal = function(valueObj) {