2015-12-21 61 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」; } ' –

相關問題