2013-07-24 47 views
-3

在我的表单上,我有一些输入,并且我想将它们总和。jQuery if/else输入字段的总和

<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并且大于或等于1,则所有的总和等于或大于10并且另一个大于或等于1.

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

如何解决这个像我的描述?

+1

你的问题是什么? –

+0

'我的问题是什么?'你告诉我们。我们知道应该发生什么,但不知道发生了什么。上面的代码如何失败?是否发生错误? –

+0

大声笑..我的'ELSE/IF'不像我的下面我的'我的问题是什么?'的短语。 – Preston

回答

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 

所以,你可以检查,看看你的valorNaN使用isNaN(),或者你可以设置一个标志,并且只计算有效的输入。

我创建了一个草图here

+0

尼斯小费..谢谢! – Preston