У меня есть форма с imput field «pcs», которая представляет собой количество штук и два типа доставки, одна бесплатная и одна выплачивается, и я стараюсь рассчитать цену на ходу , но скрипт иногда получает «NaN» или не пересчитывается, может ли кто-нибудь сказать мне, как это сделать правильно? Большое спасибо, это действительно оценено.jQuery рассчитать цену - иногда отображается «NaN»
jQuery("input").click(function (event) {
var shipping = 0;
var pcs = parseInt(jQuery('#kus').val());
var kalkulace = function(shipping, pcs) {
var price = 290;
all = shipping + (price * pcs);
jQuery("#price-total").val(all);
return all;
}
var all = kalkulace(shipping, pcs);
jQuery("input:checked").each(function() {
if(!jQuery('#kus').val()) {
var pcs = 0;
}
else {
var pcs = parseInt(jQuery('#kus').val());
}
if (jQuery(this).attr("id") == "shipping1") {
var shipping = 0;
var all = kalkulace(shipping, pcs);
}
if (jQuery(this).attr("id") == "shipping2") {
var shipping = 49;
var all = kalkulace(shipping, pcs);
}
});
jQuery('#price').text(all + ' Kč');
});
Похоже, вы могли бы написать несколько тестов, которые охватывали бы различные случаи ввода, чтобы вы могли определить, где ошибка может приходить от –
Я хотел бы проверить для любых значений, которые могут быть переводящих в строки, такие как «свободные» или «платные» или слова такого характера. NaN просто означает «не число», поэтому у вас, вероятно, есть другое значение, которое бросается в микс. Возможно, выполните некоторые тесты с использованием метода .type() jQuery. –