2012-02-16 14 views
42

if文に問題があります。私はNaNを0にNUMを設定する:jQuery値がNaNの場合

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

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

それをやる。現在、 'tal'を' 0'に設定しています。 'tal'を' num'に置き換えてください。 –

+0

この質問にはどのくらいの意見がありますか。 –

+0

すべてのユーザーに... http://stackoverflow.com/questions/8012807/isnumeric-vs-isnan ie USE $ .isNumeric()!!! –

答えて

99

あなたが戻っ$(this)に値を代入する必要があります。

うまく書か
$('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()は文字列で、0は数値です。また、より良い方法であるNumber.isNaN(およびそれぞれの1のライナーpolyfil)とは異なるグローバルisNaNも使用しています。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN – fullstacklife

28

あなたがNaNを交換したい場合0で、これを書いてください:

var tal = parseInt($(this).val()) || 0; 
関連する問題