jQuery计算价格 - 有时显示“NaN”

时间:2015-11-10 21:21:57

标签: jquery

我有一个带有输入字段“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č');

});

1 个答案:

答案 0 :(得分:0)

除了检查if(!jQuery('#kus').val()) {之外,您还需要检查是否可以将值转换为数字。您可以使用$.isNumeric表达式来执行此操作。

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

示例:http://jsfiddle.net/j6um1sq2/9/