动态下拉菜单在调用 onchange 函数时获取错误的值
dynamic drop down menu get the wrong value, when calling onchange function
我的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);
}
====
==========================================================这是问题的后续。感谢您的回答,这是我修改后的代码:
<select name="filter_value[<?php echo $group['filter_id']?>]" onchange="ga_call(this.options[this.selectedIndex].text);" >
PHP 是
服务器端 - JavaScript 是客户端。当浏览器转到页面时,它将呈现
<select name="filter_value[<?php echo $group['filter_id']?>]" onchange="ga_call('<?php echo $value[value_name]?>')">
如
<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/
相关文章:
- chrome在WebSocket握手期间获取新错误
- 在引用最新的rxjs时获取rxjs错误
- Ruby on Rails屏幕抓取错误-“;您必须在浏览器中启用javascript才能使用此应用程序"
- Twitter引导程序弹出在网站上不起作用:未获取引用错误
- 正在获取语法错误:意外的标识符和未捕获的ReferenceError
- D3 Json请求获取XmlHttpRequest错误:访问控制允许原点不允许原点为null
- 使用.content().get().nodevalue;后在firebug中获取类型错误;
- 使用hasAttribute()获取类型错误:hasAttribute不是函数
- jquery日期分析器错误获取NaN错误
- 在jquery ajax POST中获取400(错误请求)错误
- 无法在 IE 10 中获取属性错误
- jQuery 在使用 ajax 时抓取错误的形式
- 获取类型错误:无法在 angularjs 控制器中调用未定义的方法 'then'
- 未定义获取 jquery 错误 $
- AngularJS在从HTTP返回的JSON中获取语法错误.JSONP.
- 在使用日历的产品页面上的 magento 中获取“类型错误:触发器元素为空”错误
- 调用函数时获取类型错误
- 无法在节点应用程序上获取/文件名错误
- JavaScript 中的 try-catch:如何获取原始错误的堆栈跟踪或行号
- 需要获取 JavaScript 错误对象