2010-11-20 18 views
0

Kullanıcının alanlara değer girmesini sağlayan bir web sayfam var. Bir kullanıcı bir alanı güncellediğinde, görüntülenen toplamı otomatik olarak kullanıcıya güncellemek istiyorum. Giriş alanları dinamik olarak oluşturulduğundan, "update" adında bir JavaScript işlevi oluşturdum. Benim kodların bir örneği aşağıda gösterilmiştir: JavaScript'deki Sayıları Biçimlendir

<input type="text" id="myField1" onchange="return update(this);" /> 
<input type="text" id="myField2" onchange="return update(this);" /> 
<span id="totalCount"></span> 

var total = 0; 
function update(e) { 
    var v = $(e).val(); 
    if (parseInt(v) != NaN) { 
    total = total + v; 
    $("#totalCount").html(total);  
    } 
    return false; 
} 

kullanıcının girdiği

"2" "myField1" içine, "02" "totalCount" eleman görüntülenir. Gerçekte, sadece "2" yi göstermek istiyorum. Bir hesabı garip girişlere girerken bunu JavaScript’te nasıl yaparım?

Teşekkürler!

+0

giriş sıfır, o görüntüleniyor '00' veya '0': Test için değil, aynı zamanda değeri kullanırken sadece parseInt kullanılsın mı? – Marko

cevap

4

$(e).val() bir dize olduğu için, total + v da bir dizedir.

var v = parseInt($(e).val(), 10); 
if (!isNaN(v)) { 
    total = total + v; 
    $("#totalCount").html(total); 
} 
+2

Ayrıca 'NaN! = NaN', true use isNaN (v) değerini döndürür; –

+0

@Ivo Wetzel: Teşekkürler, düzeltin. – Gumbo

+0

@Gumbo, bir ondalık girdiğinde ne olur, örneğin 2.15? – Marko