0

我正在尝试跟踪onChange选择列表上的操作。我需要返回一个 selectedIndex,接缝不起作用。

这是我的代码:

<select name="triOrdre" id="triOrdre" 
    onchange="_gaq.push(['_trackEvent','Outils','Trier',this.selectedIndex]);">
    <option value="myURL0">Option0</option>
    <option value="myURL1">Option1</option>
    <option value="myURL2">Option2</option>
    <option value="myURL3">Option3</option>                  
    <option value="myURL4">Option4</option>
</select>

我需要的信息是关于 selectedIndex 的 0、1、2、3 或 4。如果我放this.value,我会得到 selectedValue (所以 myURL0, 2, ...)。但是对 selectedIndex 没有任何作用。

但是:如果我在 Chrome 上尝试使用 GA 调试插件,插件会看到带有预期值的 trackevent。例如:['_trackEvent','Outils','Trier',1] 但在 firebug 或 HTTPFox 插件中没有出现任何内容。

感谢阅读,感谢您未来的帮助。

吉姆。

4

2 回答 2

0

不同的浏览器处理脚本/html 语法错误的方式不同。正如迈克尔在您的评论中建议的那样,尝试在您的事件类别中适当地关闭您的单引号。

onchange="_gaq.push(['_trackEvent', 'Outils', 'Trier', this.selectedIndex]);"

修复此问题将帮助您发现任何其他问题(如果存在),因为您将获得更一致的调试器结果。

更新

这可能是您的onchange事件处理方式this.selectedIndex。您可以尝试将该代码放在单独的函数中并使用console.debug(this.selectedIndex)以确保其获得预期值。

onchange="trackEvent(this)"

然后...

function trackEvent(selectBox) {

 var selectIndex = selectBox.selectedIndex;
 console.debug(selectIndex);

 _gaq.push(['_trackEvent', 'Outils', 'Trier', selectIndex ]);

}

这可以帮助您调试问题。另一件可能有帮助的事情是确保如果所选索引是Value您要跟踪的 GA,请确保它是整数而不是字符串。

于 2012-07-31T13:15:51.107 回答
0

最后,我得到了答案。

this.selectedIndex是一个整数,GA API 接缝只需要 sting 值。

所以我需要像这样将 Int 值转换为 String :

_gaq.push(['_trackEvent','Outils','Trier',this.selectedIndex.toString()]);

谢谢你的帮助。

于 2012-07-31T14:05:09.820 回答