web-dev-qa-db-fra.com

jQuery: soumettre le formulaire après qu'une valeur est sélectionnée dans le menu déroulant

J'ai ce formulaire dans mon HTML:

<form action="/awe/ChangeTheme/Change" method="post">

    <select id="themes" name="themes">
        ...
        <option value="blitzer">blitzer</option>
    </select>

    <input type="submit" value="change" />

</form>

Quelqu'un sait comment le soumettre lorsqu'une valeur est sélectionnée dans la liste déroulante "thèmes"?

23
Omu

Les autres solutions soumettront tous formulaires sur la page, le cas échéant. Mieux serait:

$(function() {
    $('#themes').change(function() {
        this.form.submit();
    });
});
68
RoToRa
$('#themes').change(function(){
    $('form').submit();
});
5
Rocket Hazmat

Dans le cas où votre html contient plus d'un formulaire

$(function() {
  $('#themes').on('change', function(e) {
    $(this).closest('form')
           .trigger('submit')
  })
})
5
xPheRe

Je recommande d'utiliser la méthode de liaison à long terme, car elle a le même effet que le raccourci fourni par les autres réponses, mais vous pouvez ajouter des événements supplémentaires si besoin est sans avoir à changer votre code.

$("#themes").bind("change", function() {
  $("form").trigger("submit");
});
2
Aaron
$(function() {
    $('#themes').change(function() {
        $('form').submit();
    });
});
1
Darin Dimitrov