web-dev-qa-db-fra.com

HTML <select> quel est le nom de l'événement sélectionné?

L'élément HTML "select" a-t-il un événement on select? quel est exactement le nom de l'événement?

39
Julius A

onchange est-ce que vous recherchez?

61
Jonny Buchanan

Il convient également de mentionner que cela ne se déclenche pas si la sélection ne change pas (semble explicite). Pour autant que je sache, il n'y a aucun événement qui se déclenche lorsqu'un utilisateur baisse la boîte de sélection, puis resélectionne la valeur d'origine.

25
Wakeless

C'est événement onchange .

jQuery l'enveloppe dans l'aide .change. Si vous utilisez du Javascript simple, utilisez addEventListner('change', function...):

<html>
<head>
    <script type="text/javascript" src="jquery-1.2.6.js"></script>
    <script type="text/javascript">

// If using jQuery
$(document).ready( function() {
    $("#list").attr( "selectedIndex", -1 );
    $("#list").change( function() {
        $("#answer").text( $("#list option:selected").val() );
    });
});
    </script>

    <script type="text/javascript">

// Plain Javascript:
document.addEventListener('DOMContentLoaded', function(event) {
    var selectList = document.getElementById("list");
    var divAnswer  = document.getElementById("answer");
    selectList.addEventListener("change", function(changeEvent) {
        divAnswer.textContent = selectList.value;
    });
});
    </script>

</head>
<body>
    <div id="answer">No answer</div>
    <form>
        Answer
        <select id="list">
            <option value="Answer A">A</option>
            <option value="Answer B">B</option>
            <option value="Answer C">C</option>
        </select>
    </form>
</body>
</html>
20

Quel que soit le type d'entrée, chaque fois qu'une entrée de formulaire change de valeur, un événement onchange doit toujours être levé. (À l'exception des boutons, car ils ne sont pas vraiment des périphériques d'entrée en tant que tels.)

3
Ryan McCue