mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Attrs: Restore ability to pass array to jQuery#val
Thanks @gibson042
This commit is contained in:
parent
9fe051d57e
commit
f601dd4d23
@ -118,12 +118,13 @@ jQuery.extend({
|
|||||||
set: function( elem, value ) {
|
set: function( elem, value ) {
|
||||||
var optionSet, option,
|
var optionSet, option,
|
||||||
options = elem.options,
|
options = elem.options,
|
||||||
|
values = jQuery.makeArray( value ),
|
||||||
i = options.length;
|
i = options.length;
|
||||||
|
|
||||||
while ( i-- ) {
|
while ( i-- ) {
|
||||||
option = options[ i ];
|
option = options[ i ];
|
||||||
|
|
||||||
if ( jQuery.valHooks.option.get( option ) === value ) {
|
if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) >= 0 ) {
|
||||||
|
|
||||||
// Support: IE6
|
// Support: IE6
|
||||||
// When new option element is added to select box we need to
|
// When new option element is added to select box we need to
|
||||||
|
@ -928,7 +928,7 @@ if ( "value" in document.createElement("meter") &&
|
|||||||
}
|
}
|
||||||
|
|
||||||
var testVal = function( valueObj ) {
|
var testVal = function( valueObj ) {
|
||||||
expect( 8 );
|
expect( 9 );
|
||||||
|
|
||||||
jQuery("#text1").val( valueObj("test") );
|
jQuery("#text1").val( valueObj("test") );
|
||||||
equal( document.getElementById("text1").value, "test", "Check for modified (via val(String)) value of input element" );
|
equal( document.getElementById("text1").value, "test", "Check for modified (via val(String)) value of input element" );
|
||||||
@ -943,7 +943,9 @@ var testVal = function( valueObj ) {
|
|||||||
equal( document.getElementById("text1").value, "", "Check for modified (via val(null)) value of input element" );
|
equal( document.getElementById("text1").value, "", "Check for modified (via val(null)) value of input element" );
|
||||||
|
|
||||||
var j,
|
var j,
|
||||||
$select1 = jQuery("#select1");
|
select = jQuery( "<select multiple><option value='1'/><option value='2'/></select>" );
|
||||||
|
$select1 = jQuery("#select1"),
|
||||||
|
|
||||||
$select1.val( valueObj("3") );
|
$select1.val( valueObj("3") );
|
||||||
equal( $select1.val(), "3", "Check for modified (via val(String)) value of select element" );
|
equal( $select1.val(), "3", "Check for modified (via val(String)) value of select element" );
|
||||||
|
|
||||||
@ -959,6 +961,9 @@ var testVal = function( valueObj ) {
|
|||||||
j.val( valueObj( "asdf" ) );
|
j.val( valueObj( "asdf" ) );
|
||||||
equal( j.val(), "asdf", "Check node,textnode,comment with val()" );
|
equal( j.val(), "asdf", "Check node,textnode,comment with val()" );
|
||||||
j.removeAttr("value");
|
j.removeAttr("value");
|
||||||
|
|
||||||
|
select.val( valueObj( [ "1", "2" ] ) );
|
||||||
|
deepEqual( select.val(), [ "1", "2" ], "Should set array of values" );
|
||||||
};
|
};
|
||||||
|
|
||||||
test( "val(String/Number)", function() {
|
test( "val(String/Number)", function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user