使用纯JavaScript获取事件的select元素值

Ale*_*nch 11 javascript html-select event-handling javascript-events

我想在单击select元素时获取select元素的值!我想onchange在HTML中没有属性的情况下这样做.

我想在没有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);
}
Run Code Online (Sandbox Code Playgroud)

该select_element.value;包含一个空字符串.我该怎么做?

Gav*_*vin 12

?document.getElementById('test').onchange = function() {
    alert(this.options[this.selectedIndex].val???ue);
};?
Run Code Online (Sandbox Code Playgroud)

以上是否有效?

编辑:

编辑以反映您的选择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 );
}?
Run Code Online (Sandbox Code Playgroud)

看到它的工作地点:http://jsfiddle.net/gRoberts/4WUsG/


Aym*_*Kdn 7

适用于所有浏览器(包括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);
}?
Run Code Online (Sandbox Code Playgroud)