我想在点击select元素时获得select元素的值!我希望在HTML中不使用onchange
属性。
我想在没有jQuery的情况下实现这一点。当这个小脚本是我唯一需要的东西时,我不想在这个网站中包含jQuery框架。
var select_element = document.getElementById('product-form-user-enquiry-type');
select_element.onchange = function(e){
if (!e)
var e = window.event;
var svalue = select_element.value;
alert( svalue );
}
if ( select_element.captureEvents ){
select_element.captureEvents(Event.CHANGE);
}
select_element.value;
包含一个空字符串。我该怎么做?
document.getElementById('test').onchange = function() {
alert(this.options[this.selectedIndex].value);
};
以上内容有效吗?
编辑:
已编辑以反映您选择的id等
var select_element = document.getElementById('product-form-user-enquiry-type');
select_element.onchange = function(e){
if (!e)
var e = window.event;
var svalue = this.options[this.selectedIndex].value;
alert( svalue );
}
看到它工作在:http://jsfiddle.net/gRoberts/4WUsG/
适用于所有浏览器(包括IE8)的解决方案:
var select_element = document.getElementById('product-form-user-enquiry-type');
select_element.onchange = function() {
var elem = (typeof this.selectedIndex === "undefined" ? window.event.srcElement : this);
var value = elem.value || elem.options[elem.selectedIndex].value;
alert(value);
}
.onchange = function() { ... }
似乎覆盖了其他处理程序,所以我使用addEventListener("change",function(){…})