Merge branch 'bug7123' of http://github.com/csnover/jquery into csnover-bug7123

This commit is contained in:
John Resig 2010-10-09 16:27:59 -04:00
commit 4a0759dc79
2 changed files with 17 additions and 1 deletions

View file

@ -215,6 +215,10 @@ jQuery.fn.extend({
val = ""; val = "";
} else if ( typeof val === "number" ) { } else if ( typeof val === "number" ) {
val += ""; val += "";
} else if ( jQuery.isArray(val) ) {
val = jQuery.map(val, function (value) {
return value == null ? "" : value + "";
});
} }
if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {

View file

@ -409,7 +409,19 @@ test("val(String/Number)", function() {
test("val(Function)", function() { test("val(Function)", function() {
testVal(functionReturningObj); testVal(functionReturningObj);
}) });
test( "val(Array of Numbers) (Bug #7123)", function() {
expect(4);
jQuery('#form').append('<input type="checkbox" name="arrayTest" value="1" /><input type="checkbox" name="arrayTest" value="2" /><input type="checkbox" name="arrayTest" value="3" checked="checked" /><input type="checkbox" name="arrayTest" value="4" />');
var elements = jQuery('input[name=arrayTest]').val([ 1, 2 ]);
ok( elements[0].checked, "First element was checked" );
ok( elements[1].checked, "Second element was checked" );
ok( !elements[2].checked, "Third element was unchecked" );
ok( !elements[3].checked, "Fourth element remained unchecked" );
elements.remove();
});
test("val(Function) with incoming value", function() { test("val(Function) with incoming value", function() {
expect(10); expect(10);