2015-12-21 60 views
1

这是我在这个网站上的第一个问题,我很好奇,如果有人能帮助我。在Google跟踪代码管理器中,我尝试使用一些jQuery设置自定义JavaScript变量,该变量应返回特定数组中的所有产品价格的总量。在另一个GTM JavaScript变量中返回一个GTM JavaScript变量(数组)的总数

在下面的代码中,我返回增强型电子商务数据图层中的所有产品价格。在GTM中,我称这个变量为“{{product price}}”。

function() { 

var itemsInC = {{ecommerce.checkout.products}}; 

itemsincart = []; 

for (var i = 0;i < itemsInC.length;i++) { 

      priceincart.push(itemsInC[i].price); 

    } 

return priceincart; 

} 

上述实际代码工作,并且例如返回的值等:[ '9.99','21 0.95' ,'34 0.99' ]。

在第二段代码中,我尝试总结GTM变量“{{product price}}”中所有返回的值的总和。但是,下面的代码无法正常工作。我如何在下面的脚本中返回上面脚本的总价值?

这是我创建至今:提前

function() { 

    var total = $("{{product price}}").each(function() { 

       0 += parseInt($(this).val(), 10); 

    } 

return total; 

} 

谢谢!

亲切的问候,

回答

0

我不知道这是否是正常的答案张贴到我自己的问题,但我解决上面的问题与以下代码:

function() { var total = 0; for (var i = 0; i < {{product price}}.length; i++) 
{ total += {{product price}}[i] << 0; } return total + ".00"; } 
0

假设你使用,你在前面已经得到了确切的代码,你有几个语法错误。

  1. 你不需要用引号括
  2. GTM变量,因为这只是返回一个整数,不要使用parseInt函数。改用“数字”。
  3. 你离开了一个支架

所以你应该使用这样的事:

function(){ 
    var total = 0; 
    $({{product price}}).each(function(){ 
     total += Number(this); 
    }) 
    return total; 
} 
+0

嗨Nyuen,感谢您的答复。我想我对代码有点sl。。但是,您设置的代码也不起作用,返回的值表示NaN,所以出现了问题。我用另一种方式解决了这个问题,我使用了下面的代码:'function(){ var total = 0; (var i = 0; i <{{product price}} .length; i ++){ total + = {{product price}} [i] << 0; } 返回总数+“.00”; } ' –

相关问题