Hello,

Je suis actuellement en train de faire quelques lignes de jQuery afin de vérifier si une checkbox est cochée, et ainsi faire une action en fonction de si oui ou non.

Voici donc ma checkbox :

<label for='need_admin'>Does this place need an admin ?</label><input type='checkbox' id='need_admin' name='need_admin' />

Et voici mes quelques lignes de jQuery :

if( $('#need_admin').is(':checked') ){
        $(".searchbar_admin").show();
    }
    else {
        $(".searchbar_admin").hide();
    }

Je n'ai aucun message d'erreur, j'ai testé diverses méthodes en remplaçant .is par .prop par exemple mais rien ne fonctionne.

En vous remerciant d'avance !
Bonne journée

5 réponses


SLK
Réponse acceptée

C'est bizarre, chez moi ça fonctionne bien :

$(' #need_admin' ).on('click', function() {
    if ($(' #need_admin' ).is(':checked'))
    {
        alert('check');
    }
    else
    {
        alert('PAS check');
    }
});

// .is(':checked') OU .prop('checked') les 2 fonctionnent.

Vérifies les erreurs d'inatention (ça arrive):

  • met un alert au début de ton script, juste pour voir si le script est bien appelé.
  • dans le HTML, "searchbar_admin" est bien une "class" (et pas un "id") ?
  • vérifies aussi dans le HTML une éventuelle faut de frappe de "searchbar_admin"

Salut,

normalement avec

$("#need_admin").prop ("checked");

cela retourne true ou false

Ou bien, de mémoire :

$("#need_admin").is(":checked");

@slk oui ça fonctionne
je pense juste qu'il lui manque un évènement on 'click'

Ah oui xD

erf, parfois on ne voit pas l'éléphant... ^^