jQuery if / else输入字段的总和

时间:2013-07-24 18:10:23

标签: jquery

在我的表格上,我有一些输入,我想总结一下。

<input class="soma" maxlength="1" type="number" />
<input class="soma" maxlength="1" type="number" />
<input class="soma" maxlength="1" type="number" />
...

我的jQuery脚本总结:

$(document).ready(function(){
    $('#mostrar_resultado').click(function() {
        var valor = 0; 

        $('.soma').each(function(i){ 
            valor = parseInt($(this).val()) + valor ;
        });

        if (valor >= 10){
            $('#resposta').html("Sonolência excessiva diurna, deve ser investigada. Procure um médico!")
        } else if (valor <=9){
            $('#resposta').html("Você não possui sonolência excessiva diurna!")
        }
        if (valor == 0){
            $('#resposta').html("");
            $('.recebe_valor').val("0");
        }

    })

});

我的问题是什么:

如果用户没有填写字段,我想显示一些文本,如果all的总和大于或等于10,则显示另一个文本;如果总和小于10且大于或等于1,则我想显示另一个文本。

目前我的IF/ELSE不是那样的!

如何像我的描述一样解决这个问题?

1 个答案:

答案 0 :(得分:2)

您应该了解parseInt的工作原理。

默认基数为10,但无论如何最好指定它。

如果解析失败,结果为NaN。将其添加到任意数字将导致NaN

>>> parseInt("5")
5
>>> parseInt("")
NaN
>>> parseInt("",10)
NaN
>>> parseInt("a")
NaN
>>> parseInt("a",16)
10
>>> val = parseInt("5")
5
>>> val += parseInt("")
NaN

因此,您可以使用valor检查NaN是否为isNaN(),或者您可以设置标记并仅计算有效输入。

我创建了一个草图here