14

select要素がクリックされたときにselect要素の値を取得したい!onchangeHTMLの属性なしでやりたいです。

jQueryなしでこれを実現したいと思います。この小さなスクリプトだけが必要な場合は、このWebサイトに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;空の文字列が含まれています。これはどのようにすればよいですか?

4

3 に答える 3

12
​document.getElementById('test').onchange = function() {
    alert(this.options[this.selectedIndex].val​​​ue);
};​

上記は機能しますか?

編集:

あなたの選択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/で動作を確認してください。

于 2012-07-27T08:18:17.937 に答える
11

すべてのブラウザー (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);
}​
于 2015-08-26T14:57:54.540 に答える