2012-02-16 31 views
42

ise If ifadesinde bir sorun yaşıyorum. Ben NaN 0'a num ayarlamak istiyorum:jQuery Değer NaN

$('input').keyup(function() { 

var tal = $(this).val(); 
var num = $(this).data('boks'); 
if(isNaN(tal)) { 
var tal = 0; 
} 
}); 
+0

Sonra yap. Şu anda "0" 'a ayarlıyorsunuz. "Num" ile "tal" yerine. –

+0

Bu soruyu kaç tane görüntüledi .. –

+0

Tüm kullanıcılara ... http://stackoverflow.com/questions/8012807/isnumeric-vs-isnan adresinden ulaşabilirsiniz. USE $ .isNumeric() !!! –

cevap

99

Sen $(this) geri değeri atamak zorunda: güzel yazılı

$('input').keyup(function() { 

var tal = $(this).val(); 
var num = $(this).data('boks'); 
if(isNaN(tal)) { 
var tal = 0; 
} 
$(this).data('boks', tal); 
}); 

:

$('input').keyup(function() { 
    var eThis = $(this); 
    var eVal = (isNaN(eThis.val())) ? 0 : eThis.val(); 
    eThis.data('boks', eVal); 
}); 
+0

eThis.val() bir String'dir, 0 bir sayıdır. Ayrıca, daha iyi olan Number.isNaN (ve ilgili 1 liner polyfil) uygulamasından farklı olan global isNaN kullanıyorsunuz. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN – fullstacklife

28

Eğer NaN değiştirmek istiyorsanız 0 ile, sadece şunu yazın:

var tal = parseInt($(this).val()) || 0;