-3

在我的表格上,我有一些输入,我想把它们全部加起来。

<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");
        }

    })

});

我的问题是什么:

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

而目前我IF/ELSE的不是这样!

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

4

1 回答 1

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是否是,或者您可以设置一个标志并仅计算有效输入。NaNisNaN()

我在这里创建了一个草图。

于 2013-07-24T18:44:09.953 回答