Obtenir la valeur de l'élément select sur l'événement en utilisant pur JavaScript

je veux récupérer la valeur d'un élément pour le sélectionner l'élément est cliqué! Je veux le faire sans un onchange attribut dans le HTML.

je voudrais y arriver sans jQuery. Je ne veux pas inclure un cadre jQuery dans ce site web quand ce petit script est la seule chose dont j'ai besoin.

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; contient une chaîne vide. Comment dois-je faire?

10
demandé sur totymedli 2012-07-27 12:12:01

3 réponses

une solution qui fonctionnera avec tous les navigateurs (y compris 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);
}​
4
répondu AymKdn 2015-08-26 14:57:54
​document.getElementById('test').onchange = function() {
    alert(this.options[this.selectedIndex].val​​​ue);
};​

est-ce que ce qui précède fonctionne?

Edit:

modifié pour refléter vos id select etc.

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 );
}​

le Voir fonctionner: http://jsfiddle.net/gRoberts/4WUsG/

12
répondu Gavin 2012-07-27 08:27:05

.onchange = function() { ... } semble écraser les autres handlers, donc j'utilise addEventListener ("change", function () {... })

0
répondu vladkras 2016-03-17 10:21:52