Fix #13514: Set selectedIndex to -1 when non-matching value is set on a select. Close gh-1191.

(cherry picked from commit 48d71d0c3e)
This commit is contained in:
ruado1987
2013-03-03 23:51:04 +08:00
committed by Richard Gibson
parent 8f4572406c
commit c9ca9bf509
2 changed files with 30 additions and 7 deletions

View File

@@ -846,6 +846,22 @@ test( "val()", function() {
equal( jQuery("<option/>").val("test").attr("value"), "test", "Setting value sets the value attribute" );
});
test("val() with non-matching values on dropdown list", function() {
expect( 3 );
jQuery("#select5").val( "" );
equal( jQuery("#select5").val(), null, "Non-matching set on select-one" );
var select6 = jQuery("<select multiple id=\"select6\"><option value=\"1\">A</option><option value=\"2\">B</option></select>").appendTo("#form");
jQuery(select6).val( "nothing" );
equal( jQuery(select6).val(), null, "Non-matching set (single value) on select-multiple" );
jQuery(select6).val( ["nothing1", "nothing2"] );
equal( jQuery(select6).val(), null, "Non-matching set (array of values) on select-multiple" );
select6.remove();
});
if ( "value" in document.createElement("meter") &&
"value" in document.createElement("progress") ) {