我正在使用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/