2011-03-16 26 views
7

Giriş düğmesi tarafından gönderilen bir değeri almak için jQuery kullanıyorum. Değerin bir tamsayı olması gerekiyordu. Onu tek tek arttırıp görüntülemek istiyorum.HTML giriş değeri veri türünü tam sayı olarak nasıl değiştirebilirim?

// Getting immediate Voting Count down button id 
var countUp = $(this).closest('li').find('div > input.green').attr('id'); 
var count = $("#"+countUp).val() + 1; 
alert (count); 

Yukarıdaki kod, birleştirilmiş bir dizgi sağlar. Örneğin değer 3 deyin. Çıktı olarak 4 almak istiyorum, ancak kod üretiyor 31.

Bir HTML giriş değerinin veri türünü tamsayı olarak nasıl değiştirebilirim?

+1

Yan Not: HTML'den gelen herhangi bir metin varsayılan olarak bir dizedir, çünkü HTML, bir dizedir :) –

cevap

17

olarak, bir tamsayı kullanımı ya strValue dönüştürmek için. a 0 gelen parseInt neden olacağından,

+strValue 

Not parseInt için kök parametre giriş sekizlik, ve 010 bir giriş yerine 8 10

5
parseInt( $("#"+countUp).val() , 10 ) 
+0

Burada 10, Ondalık anlamına mı geliyor? – ptamzz

+1

Evet. Aksi takdirde 'parseInt ('010'),' * 8 * gibi sonuçlar elde edersiniz. – Quentin

+0

@ptamzz - Evet, öyle. Varsayılan "tahmin etmeye çalış" dır. –

2

kullanımı parseInt olarak:

parseInt(strValue, 10); 

veya tekli + operatörü: var count = parseInt($("#"+countUp).val(), 10) + 1; veya + operatör var count = +$("#"+countUp).val() + 1;

0
var count = parseInt(countUp, 10) + 1; 

değerini verecek varsaymak Bakınız w3schools webpage for parseInt.

+3

ParseInt'i bir radix olmadan kullanmayın, w3schools'u kullanmayın (http://w3fools.com) – Quentin

İlgili konular