![](/img/trans.png)
[英]select value of <select> tags with the onchange(this.value)
[英]Native JavaScript select onchange this.value undefined
我有一个由php文件生成的select标签,如果可以避免,我宁愿不用改变。 我也没有能力使用jQuery来解决我的问题。 所以这是我试图设置onchange事件的方式:
var d = document.getElementById('lang_choice');
d.onchange = function(){
window.alert(this.value);
}
弹出框只是说未定义。 我检查了html,它在选项标签中设置了值属性。 所以我猜我误解了这个系统,一些解释会很好。
var d = document.getElementById('lang_choice');
d.onchange = function(){
window.alert(this.options[this.selectedIndex].value);
}
它适用于旧版浏览器。
虽然你的方法应该工作。 代码中的其他地方一定有错误。 检查控制台。
一旦DOM对象可用,请确保绑定onchange事件并确保选项标记值属性。
<select id="lang_choice">
<option value="en">English</option>
<option value="es">Spanish</option>
</select>
这对我有帮助。
对于选择:
$('select_tags').on('change', function() {
alert( $(this).find(":selected").val() );
});
对于收音机/复选框:
$('radio_tags').on('change', function() {
alert( $(this).find(":checked").val() );
});
IE有一个错误(不确定版本),onchange将在设置值之前触发,因此使用如下所示
var d = document.getElementById('lang_choice');
d.onchange = function(){
var th = this;
setTimeout(function(){ window.alert( th.value ); }, 10);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.