我正在使用jquery来获取ID为qty的文本输入框的值,但是我不确定如何为我的Google Analytics(分析)数据层推送将值显示在javascript中。

那么,如何获取qtyvalue的值以正确显示在以下代码的“数量”部分中?

 <script>
   require(['jquery'], function ($) {
      //GET VALUE OF QTY BOX
      qtyvalue = $("#qty").val();

      $(".tocart").click(function(){
         dataLayer.push({
            'event': 'addToCart',
            'ecommerce': {
            'currencyCode': 'USD',
            'add': {
                'products': [{
                'name': '<?php echo noSingleQuote($all_names);?>',         // Name or ID is required
                'id': '<?php echo "$google_sku";?>',                      // Name or ID is required
                 'price': '<?php echo "$google_price";?>',                // Insert product price
                 'brand': '<?php echo "$google_site_owned_by_name";?>',  // Insert product brand
                 'category': '<?php echo "$category_name";?>',          // Insert product category
                 'quantity': 'qtyvalue',
                }]
            }
        }
      });
 });
});
</script>

最佳答案

两件事情:

1)'quantity': 'qtyvalue'-您要在其中传递一个硬编码的字符串,而不是一个变量。因此,您将把“ qtyvalue”一词直接放入字段中,而不是变量的值中。您需要删除引号。

2)您可能应该将qtyvalue = $("#qty").val();行移动到“ click”函数内...否则,您将获得文本框的值,就像加载页面时一样,而不是单击按钮时。

这是修复了这两个问题的示例:

<script>
   require(['jquery'], function ($) {

      $(".tocart").click(function(){
         qtyvalue = $("#qty").val();
         dataLayer.push({
            'event': 'addToCart',
            'ecommerce': {
            'currencyCode': 'USD',
            'add': {
                'products': [{
                'name': '<?php echo noSingleQuote($all_names);?>',         // Name or ID is required
                'id': '<?php echo "$google_sku";?>',                      // Name or ID is required
                 'price': '<?php echo "$google_price";?>',                // Insert product price
                 'brand': '<?php echo "$google_site_owned_by_name";?>',  // Insert product brand
                 'category': '<?php echo "$category_name";?>',          // Insert product category
                 'quantity': qtyvalue,
                }]
            }
        }
      });
 });
});
</script>

关于javascript - 通过jQuery从文本框中获取值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56062346/

10-12 13:13