首页 > 解决方案 > 通过 jquery 从文本框中获取值

问题描述

jquery用来获取以 id 为 qty 命名的文本输入框的值,但是我不确定如何让该值出现在我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>

标签: javascriptphpjquery

解决方案


两件事情:

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

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

这是一个修复了这两件事的示例:

<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>

推荐阅读