为什么我的总价格输出不断出现NaN错误

时间:2019-12-03 10:12:28

标签: javascript jquery

我做了一些实验,但是NaN错误并没有消失,我不认为我有更多的主意 我想将我的房间价格和附加价格相加以显示总价值,但是在我的总显示中不断显示NaN,我在追加项目后对两个js都调用了我的函数total 这是我的预订房间的js代码

$(".bkng").on("click",function(event) {
              event.preventDefault();

            var id = $(this).data('room-id');
          name = $(this).data('name');
        price = $(this).data('price');
                console.log(id);


                if(id != '')

                {
                    $.ajax(
                {
                    type:"POST",
                    url : "Pages/ajax",
                    data:{id:id,
                        name:name,
                        price:price},


                    success:function(data)
                    {
                        console.dir(data);
                        if (data) {


                        var item = $('<li data-itemprice="'+price+'">'+name+' : '+price+'</li>');
                            $("#test1").html(item);
                           Total();
                        }
                        else {
                             $('#test1').append('no records found');
                        }
                    }
                });
            }
            });
        });

MY JS插件

$(document).ready(function(){
    $(".addons").on("click", function(event) {
        event.preventDefault();


        var $this = $(this);
        var id = $(this).data('addon-id');
        name = $(this).data('name');
        price = $(this).data('price');

        console.log(id);

        $(this).addClass('is-hidden');
        $('.removebtn[data-addon-id="' + id + '"]').removeClass('is-hidden');
        if(id != '')

            {

                    $.ajax(
                {
                    type:"POST",
                    url : "Pages/addonajax",
                    data:{id:id,
                        name:name,
                        price:price},


                    success:function(data)
                    {
                            console.dir(data);
                            if (data) {

                            var item = $('<li data-itemprice="'+price+'">'+name+' : '+price+'</li>');
                            $("#test4").append(item);
                               Total();

                        }
                        else {

                        }
                    }
                });
            }
      }      
});

我的功能总计

function Total() {

           total = 0;
         $('li').each(function(index,object){
        //Adds the price of each item to the variable: total
         total = total + Number($(object).data('itemprice'))

   });
        //Displays total of all items 
         $("#test2").html("Total:" + total);

    }

和我的html代码显示总数

<h3 class = "your-stay" id = "test2">Total: <span></span></h3>

1 个答案:

答案 0 :(得分:0)

function Total() {
    var total = 0;
    $('li').each(function (index, object) {
        //Adds the price of each item to the variable: total
        var price = $(object).data('itemprice');
        if (+price)
            total = (total + (+price));
    });
    //Displays total of all items
    $("#test2").html("Total:" + total);
}

尝试一下,看看是否有帮助

还要检查条件是否类似

if(id){
....code
}