Make .val(undefined) == .val("") and chainable; fixes #4130.

Ensure .val(null) sets an empty string on IE6/7; fixes #5163.
This commit is contained in:
dmethvin 2010-08-21 10:32:34 +08:00 committed by John Resig
parent c4e653237f
commit 0636dffc24
2 changed files with 12 additions and 5 deletions

View file

@ -136,7 +136,7 @@ jQuery.fn.extend({
},
val: function( value ) {
if ( value === undefined ) {
if ( !arguments.length ) {
var elem = this[0];
if ( elem ) {
@ -209,9 +209,10 @@ jQuery.fn.extend({
val = value.call(this, i, self.val());
}
// Typecast each time if the value is a Function and the appended
// value is therefore different each time.
if ( typeof val === "number" ) {
// Treat null/undefined as ""; convert numbers to string
if ( val == null ) {
val = "";
} else if ( typeof val === "number" ) {
val += "";
}