Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌标签管理器-捕获选择值_Javascript_Html_Google Analytics_Google Tag Manager - Fatal编程技术网

Javascript 谷歌标签管理器-捕获选择值

Javascript 谷歌标签管理器-捕获选择值,javascript,html,google-analytics,google-tag-manager,Javascript,Html,Google Analytics,Google Tag Manager,我试图捕获值,将它们推送到数据层,并使用Google Tag Manager将它们推送到分析帐户。下面是我试图从包含动态选定属性的中提取值的代码: <select class="dropdown__select" size="1" id="dyeMethod" name="dyeMethod" onchange="javascript:UpdateSearchResults('FilterSearchForm')">

我试图捕获
值,将它们推送到数据层,并使用Google Tag Manager将它们推送到分析帐户。下面是我试图从包含动态选定属性的中提取值的代码:

<select class="dropdown__select" size="1" id="dyeMethod" name="dyeMethod" onchange="javascript:UpdateSearchResults('FilterSearchForm')">
                                        <option value="ALL">ALL</option>

        <option value="395" >
         Piece Dyed</option>            

        <option value="402"  selected="selected">
         Solution Dyed</option>            

        <option value="406" >
         Solution Dyed /  Yarn Dyed</option>            

                            </select>
                </div>
            </div>
当“valueSelected”被推送到数据层时,DOM就绪时触发此标记。然后,我创建了一个数据层变量(“selectedValue”),并将其指定为GA标记上的事件标签,该标记仅在选择了“dropdown\uu select”类时才会触发


标记传递类别和操作,但标签显示为“(未设置)”。必须有一种更有效的方法来捕获这些值并将其传递

DOM Ready和valueSelected都是事件键的值,因此无法在一个触发器中使用这两个规则触发自定义HTML标记


尝试在DOM Ready上启动自定义HTML标记,在event valueSelected上启动Google Analytics标记

在数据层推送之前,尝试对“selectedValue”的值进行求值。@nyun我刚刚更新了上面的代码,以表明我也想只捕获动态选择的值。我很抱歉没有在前面使用这个示例,因为它推送选择菜单中的所有值,而不仅仅是选择的值。谢谢你迄今为止的帮助!
    document.addEventListener('change', function(e) {
      if (e.target.className === 'dropdown__select') {
        var selected = e.target.options ? e.target.options[e.target.value] : undefined;

        window.dataLayer.push({
          'event' : 'valueSelected',
          'selectedValue' : selected ? (selected.value) : ''
        });
      }
    };