20 votes

Case à cocher et JQUERY : "est coché" toujours FAUX

Le code est ci-dessous et la case à cocher est toujours FALSE. Mais sur la page, c'est différent. Elle n'est pas cochée ou décochée.

<script type="text/javascript">
 $('.cbOzelHastaAdi').unbind('click');

 $('.cbOzelHastaAdi').click( function() {

    var parentDiv = $(this).parent().get(0);
    var cbs = $(parentDiv).find('table input:checkbox');

   if($(this).attr("checked") === "true") {
        cbs.each(function() { $(this).attr('checked', false); });
    }
    else{
        cbs.each(function() { $(this).attr('checked', true); });
    }

})

</script>

0voto

Ben Koehler Points 4707

La réponse de Russ Cam fonctionne, mais pourquoi ne pas la jQueryifier un peu plus ?

$(function() {     
    $('.cbOzelHastaAdi').live('click', function() {
        $(this).parents('div').find('table input:checkbox').attr('checked', $(this).attr('checked'));
    });
});

Cela suppose que la classe cbOzelHastaAdi est désormais attaché à la case à cocher et non plus à l'élément span. Cela devrait vous permettre d'éviter tous les renommages ASP désordonnés et d'autoriser plusieurs tableaux similaires par page sans avoir à utiliser plusieurs fonctions d'événement de clic.

0voto

0voto

user2717833 Points 1

Cela fonctionne également :

(($('input[name="myCheckBox"]:checked').val())=='on')

Il retournera soit vrai soit faux

où la case à cocher est définie comme :

<input type="checkbox" name="myCheckBox">

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X