我有一个带有输入字段“pcs”的表单,它是件数和两种运输方式,一个是免费的,一个是付费的,我试着在旅途中计算价格,但脚本有时会得到“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č');
});
答案 0 :(得分:0)
除了检查if(!jQuery('#kus').val()) {
之外,您还需要检查是否可以将值转换为数字。您可以使用$.isNumeric
表达式来执行此操作。
var pcs;
if(!jQuery('#kus').val() || !$.isNumeric(parseInt($("#kus").val())))
pcs = 0;