/ / jQuery calcular preço - às vezes "NaN" exibido - jquery

jQuery calcular preço - às vezes "NaN" exibido - jquery

Eu tenho um formulário com imput field "pcs" que énúmero de peças e dois tipos de envio, um é grátis e um é pago e eu tento calcular o preço em movimento, mas o script às vezes fica "NaN" ou não recalculado, alguém poderia me dizer, como fazer isso corretamente? Muito obrigado, é muito apreciado.

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č");

});

Respostas:

0 para resposta № 1

Além de verificar if(!jQuery("#kus").val()) { , você também precisa verificar se um valor pode ser convertido em um número. Você pode usar $.isNumeric expressão para fazer isso.

var pcs;
if(!jQuery("#kus").val() || !$.isNumeric(parseInt($("#kus").val())))
pcs = 0;

Exemplo: http://jsfiddle.net/j6um1sq2/9/