2010-09-29 5 views

Répondre

60

Les autres solutions présentent toutes formes sur la page, s'il devrait y avoir. Il serait mieux:

$(function() { 
    $('#themes').change(function() { 
     this.form.submit(); 
    }); 
}); 
+1

Si vous avez plusieurs formulaires, il serait encore mieux de remplacer la troisième ligne par: $ (this) .parent ('form'). Submit(); –

+8

@PeterdeRidder 'this.form' fait déjà cela et plus, parce que' $ (this) .parent ('form') 'ne fonctionne que si le formulaire est le parent direct du select, ce qui n'est souvent pas le cas. – RoToRa

1
$(function() { 
    $('#themes').change(function() { 
     $('form').submit(); 
    }); 
}); 
+1

Cette solution soumettront toutes les formes sur la page ... – bato3

3
$('#themes').change(function(){ 
    $('form').submit(); 
}); 
+0

Cette solution soumettront toutes les formes sur la page .. – bato3

2

Je recommande d'utiliser la méthode de liaison longhand parce qu'il a le même effet que le raccourci fourni par les autres réponses, mais vous pouvez ajouter des événements supplémentaires en cas de besoin, sans avoir à changer votre code.

$("#themes").bind("change", function() { 
    $("form").trigger("submit"); 
}); 
+0

Cette solution soumettra tous les formulaires sur la page ... – bato3

4

Dans le cas où votre code html contient plus d'une forme

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