2012-02-16 13 views
42

है तो मुझे किसी कथन के साथ कुछ परेशानी हो रही है। मैं NaN 0 करने के लिए संख्या निर्धारित करना चाहते हैं:jQuery यदि मान NaN

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

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

फिर कर दो। वर्तमान में आप 'tal' को' 0' पर सेट कर रहे हैं। 'Num' के साथ' tal' का स्थान बदलें। –

+0

पागल इस प्रश्न को कितने विचार मिले .. –

+0

सभी उपयोगकर्ताओं के लिए ... देखें http://stackoverflow.com/questions/8012807/isnumeric-vs-isnan i.e. यूएस $ .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 एक संख्या है। इसके अलावा आप वैश्विक isNaN का उपयोग कर रहे हैं जो बेहतर अभ्यास संख्या.इसएनएएन (और इसके संबंधित 1 लाइनर पॉलीफिल) से अलग है। https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN – fullstacklife

28

आप NaN की जगह चाहते हैं 0 के साथ, बस इसे लिखें:

var tal = parseInt($(this).val()) || 0; 
संबंधित मुद्दे