2013-07-24 77 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