我的wordpress网站上有一个动态下拉菜单,我想应用谷歌分析代码,以便我可以跟踪用户点击任何选项并显示值的名称(而不是ID!)。但是现在当我使用onchange调用函数时,它将从最后一个下拉菜单中传递最后一个值名称。 <?php echo $value['value_name'] ?>
可以给我正确的名称并为我创建菜单,但是当我在onchange函数中使用相同的代码时,正确的值没有传递给函数!我不明白为什么我得到这样的结果并且没有关于解决方案的线索。感谢您提供任何帮助和解答。
这是PHP代码:
<?php if ( isset( $optin_filter_manager[ $group['filter_id'] ]['view_filtre'] ) && $optin_filter_manager[ $group['filter_id'] ]['view_filtre'] == 'selected' ):?>
<li>
<!-- Problem Here -->
<select name="filter_value[<?php echo $group['filter_id']?>]" onchange="ga_call('<?php echo $value[value_name]?>')">
<?php if ( isset( $optin_filter_manager[ $group['filter_id'] ]['all_field_enable'] ) && $optin_filter_manager[ $group['filter_id'] ]['all_field_enable'] == 'yes' ):?>
<option value="all">
<?php echo ( empty ( $optin_filter_manager[ $group['filter_id'] ]['all_field_label'] ) )?'All':$optin_filter_manager[ $group['filter_id'] ]['all_field_label'];?>
</option>
<?php endif;?>
<?php endif;
foreach( (array)$group['value'] as $value ):
// generate catgory filter link
$param['filter'] = $value['filter_value_id'];
if ( isset( $optin_filter_manager[ $group['filter_id'] ]['view_filtre'] ) && $optin_filter_manager[ $group['filter_id'] ]['view_filtre'] == 'selected' ):?>
<option name="<?php echo $value['value_name'] ?>" value="<?php echo $value['filter_value_id']?>" <?php selected( in_array( $value['filter_value_id'], (array) $filters ) ); ?>
<!-- get variable's name -->
<?php echo $value['value_name'];?>
</option>
<?php else:?>
以下是我用于谷歌分析调用的Javascript代码:
function ga_call(value){
ga('send', 'event', 'search', 'Filter',value);
}
=============================================== =======
这是问题的后续行动。感谢caspian的回答,这是我修改过的代码:
<select name="filter_value[<?php echo $group['filter_id']?>]" onchange="ga_call(this.options[this.selectedIndex].text);" >
答案 0 :(得分:1)
php是服务器端 - javascript是客户端。当浏览器转到该页面时,它将呈现
<select name="filter_value[<?php echo $group['filter_id']?>]" onchange="ga_call('<?php echo $value[value_name]?>')">
as
<select name="filter_value[<?php echo $group['filter_id']?>]" onchange="ga_call('current_value')">
获取下拉列表的当前值:
<select name="filter_value[<?php echo $group['filter_id']?>]" onchange="ga_call(this.value)">
获取下拉列表中所选项目的文本
<select name="filter_value[<?php echo $group['filter_id']?>]" onchange="ga_call(this.options[this.selectedIndex].text);">
js小提示演示:http://jsfiddle.net/WctY2/2/