11
votes

Case à cocher JQuery Ajax State

J'ai des cases à cocher sur ma page pour lesquelles je voudrais envoyer leur état à la base de données via Ajax. Je sais comment utiliser jQuery avec Ajax, mais je ne sais pas comment obtenir l'état vérifié, à la fois vérifié et décoché avec l'ID de la case à cocher afin que je puisse le renvoyer au serveur.

Des idées?


0 commentaires

5 Réponses :


0
votes

Eh bien, il est assez facile de trouver les cases à cocher: xxx

L'astuce est que dans les cases à cocher HTML n'a que la valeur significative lorsque vérifié . Quand ils ne sont pas vérifiés, que dis-tu au serveur?

Eh bien, si vous avez une convention à travailler (peut-être toujours envoyer "vrai" lors de l'enregistrement et "Faux" lorsqu'il n'est pas coché), La prochaine chose que vous devez décider, c'est comment les amener à votre serveur. Vous pouvez utiliser la fonction jQuery param pour activer la liste en une chaîne de paramètres: xxx

qui vous donne une chaîne prête à être clouée sur une URL ou envoyé sous forme de données via $. Ajax .


0 commentaires

22
votes
if ($("#yourCheckboxID").is(":checked")) {  
    // checkbox is checked 
} else {
    // checkbox is not checked 
}
will do the job.

0 commentaires

16
votes

quelque chose comme ceci: xxx


0 commentaires

10
votes

Combinant votre solution et la réponse acceptée par AIN:

<script type="text/javascript">
  $(document).ready(function(){
    var isChecked = $("input:checkbox").is(":checked") ? 1:0; 
    $.ajax({
            url: 'on_off.aspx',
            type: 'POST',
            data: { strID:$("input:checkbox").attr("id"), strState:isChecked }
    });        
  });
</script>


0 commentaires

2
votes

en ajoutant dans l'événement de changement à la solution fusionnée. Voulez-vous que cela déclenche chaque fois que la case à cocher est modifiée.

<script type="text/javascript">
    $(document).ready(function(){
        $("input:checkbox").change(function() { 
            var isChecked = $("input:checkbox").is(":checked") ? 1:0; 
            $.ajax({
                url: 'on_off.aspx',
                type: 'POST',
                data: { strID:$("input:checkbox").attr("id"), strState:isChecked }
            });        
        });        
    });
</script>


0 commentaires