Bonjour,

J'ai un tableau avec une checkbox pour chaque ligne.
Lorsqu'un utilisateur clique dessus j'active ou désactive des fonctionnalités en ajax, pas de souci.

Je souhaite faire une checkbox supplémentaire qui coche ou décoche toutes les cases en même temps, et qui donc déclenche aussi mon autre fonction pour activer/désactiver les fonctionnalités... Et c'est là que ça coince.
Ma checkbox général a bien un effet sur toutes les autres, mais la fonction qui devrait être lancée au moment du changement d'état de chacune ne se lance pas.

Voici mon code:

Fonction lancée lors d'un clic sur le checkbox générale:

$(document).on('click', 'input[name="check_all"]', function(e) {
                if($(this).is(':checked')) {
                    $('input[name="actif"]').prop('checked', true);
                } else {
                    $('input[name="actif"]').prop('checked', false);
                }
            });

Fonction lancée lors d'un clic sur une checkbox simple (et qui donc devrait être lancée lors du clic sur la générale):

$(document).on('change', 'input[name="actif"]', function(e) {
                $.ajax({
                    url : 'L_URL',
                    type : 'POST',
                    data : {mes_donnees},
                    dataType : 'html',
                    success : function(html) {
                        // Succès: Aucun retour
                    },
                    error : function(resultat){
                        alert('Erreur : ' + resultat)
                    }
                });

La seconde fonction fonctionne donc très bien lors d'un clic sur une checkbox seule, mais n'est pas activée lors d'un clic sur la générale (mais l'état des checkbox à l'écran change bien lui).

Par avance, merci pour votre aide.

2 réponses


Pierrot01
Réponse acceptée

Salut,

    $( "input[name="actif"]" ).trigger( "click" );

@plus

Pierre

jouvrard
Auteur

Ah zut, j'étais passé à côté de ça, c'est donc tout simple...
Merci! :)