2010-04-27 8 views
1

J'ai un formulaire, et je veux le mettre à jour automatiquement lorsque je clique sur une case à cocher. Ceci est mon code actuel:jQuery: soumettre un formulaire lorsque la case est cochée

$('.option img').click(function() { 
    $("#views-exposed-form-Portfolio-page-1").submit(); 
}); 

Cependant, la case sélectionnée ne sont pas stockées avant que le formulaire est soumis, et ainsi la sélection n'a pas d'effet.

grâce

+2

Vous construisez donc un bouton de soumission qui ressemble à une case à cocher? C'est déroutant. (Conseil: ne faites pas cela, utilisez un bouton de soumission.) – Quentin

+0

@David Dorward - Je donnerais autant de votes upfull si je le pouvais. – justkt

+0

Je suis d'accord avec David. Cela viole la règle de la plus petite surprise: http://www.faqs.org/docs/artu/ch11s01.html – Powerlord

Répondre

5
$("#myCheckBox").change(
    function(){ 
     $("#views-exposed-form-Portfolio-page-1").submit(); 
    } 
); 

Vous pouvez évidemment vérifier et voir si la case est cochée avant de soumettre le formulaire, mais cette manière est plus facile que soumettons en fonction de l'événement de clic (qui se déclenche avant l'événement de changement, il semble).

0

Si vous utilisez que la dernière chose alors sûrement vous pouvez simplement stocker l'inverse de ce qui a déjà été réalisé pour elle?

S'il est toujours défini sur Désactivé, vous pouvez toujours stocker 1 ou, s'il a déjà été stocké, trouver cette valeur et retourner l'inverse.

0
if ($(".checkbox-class:checked")) { 

$("#views-exposed-form-Portfolio-page-1").submit(); 

} 
0

Vous pouvez utiliser l'événement change au lieu de l'événement click, ou simplement le sélectionner manuellement.

Questions connexes