jQuery如果value为空,则将其设置为0并进行验证

Daw*_*ven 0 javascript validation jquery

简单问题我无法解决,我有以下功能:

function finalCheck(){

        var result = true;
        jQuery("#carloan-form :input[type=text]").each(function() {

            if(!this.value){this.value = 0;}

            if(jQuery.isNumeric(this.value) && this.value>=0) {
                jQuery(this).parent().children('.cal-error').slideUp(300)
            }else{
                result = false;
                jQuery(this).parent().children('.cal-error').slideDown(300);
                jQuery('.cal-result').slideUp(300);
            }
        });
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

基本上问题是if(!this.value){this.value = 0;}如果没有值我需要在继续验证表单之前将其设置为零,但这似乎只在我第二次验证时生效.

所以这一切归结为如果我在每个循环中将输入值设置为0,它只在函数完成后将其考虑在内.

这是一个JSFIDDLE,与我当前的问题相同,只有在第二次单击时才会显示正确的值.

任何帮助都非常赞赏.

odi*_*seo 6

您可以为打印输出设置默认值

var finalValue = $('#test').val() || 0;
Run Code Online (Sandbox Code Playgroud)

查看http://jsfiddle.net/odiseo/bQSA3/5/