Tôi gặp sự cố với câu lệnh if. Tôi muốn thiết num tới 0 trên NaN:jQuery Nếu giá trị là NaN
$('input').keyup(function() {
var tal = $(this).val();
var num = $(this).data('boks');
if(isNaN(tal)) {
var tal = 0;
}
});
Tôi gặp sự cố với câu lệnh if. Tôi muốn thiết num tới 0 trên NaN:jQuery Nếu giá trị là NaN
$('input').keyup(function() {
var tal = $(this).val();
var num = $(this).data('boks');
if(isNaN(tal)) {
var tal = 0;
}
});
Bạn phải gán giá trị trở lại $(this)
:
$('input').keyup(function() {
var tal = $(this).val();
var num = $(this).data('boks');
if(isNaN(tal)) {
var tal = 0;
}
$(this).data('boks', tal);
});
độc đáo bằng văn bản:
$('input').keyup(function() {
var eThis = $(this);
var eVal = (isNaN(eThis.val())) ? 0 : eThis.val();
eThis.data('boks', eVal);
});
eThis.val() là một chuỗi số 0 là một số. Ngoài ra, bạn đang sử dụng isNaN toàn cầu khác với thực hành tốt hơn Number.isNaN (và một lớp lót tương ứng polyfil). https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN – fullstacklife
Nếu bạn muốn thay thế NaN với 0, chỉ cần viết điều này:
var tal = parseInt($(this).val()) || 0;
Sau đó làm đi. Hiện tại bạn đang đặt 'tal' thành' 0'. Thay thế 'tal' bằng' num'. –
Điên có bao nhiêu lượt xem câu hỏi này có .. –
Đối với tất cả người dùng ... xem http://stackoverflow.com/questions/8012807/isnumeric-vs-isnan tức là USE $ .isNumeric() !!! –