IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

cocher une seule checkbox


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 25
    Points : 14
    Points
    14
    Par défaut cocher une seule checkbox
    Salut à tous,

    Voilà je me prends un peu la tête sur un problème :

    J'ai plusieurs groupes de checkbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <input type='checkbox' name='ckbox_1' onClick='javascript:check_1(0)' value='42' />
    <input type='checkbox' name='ckbox_1' onClick='javascript:check_1(1)' value='42' />
    <input type='checkbox' name='ckbox_1' onClick='javascript:check_1(2)' value='42' />
     
    <input type='checkbox' name='ckbox_2' onClick='javascript:check_2(0)' value='42' />
    <input type='checkbox' name='ckbox_2' onClick='javascript:check_2(1)' value='42' />
    <input type='checkbox' name='ckbox_2' onClick='javascript:check_2(2)' value='42' />
    Concrètement les fonctions check_1 et 2 sont créées à la volé (oui c'est horrible et ne me tapez pas dessus le code n'est pas de moi :p) et appellent une vrai fonction qui aura le name (ex ckbox_1) en paramètre et le numéro de la checkbox (0, 1, 2 etc). Comment je peux faire avec jquery pour tout désélectionner dans le groupe sauf la checkbox que je clic ?

    J'ai bien essayé des trucs comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(":checkbox[@name="+sID+"]").each( function(test) {
    		alert(test);
    });
    Mais rien...Une petite aide siouplé ? Merci.

  2. #2
    Membre averti
    Avatar de cahnory
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 203
    Points : 401
    Points
    401
    Par défaut
    Je vais faire bref car je suis sur mobil (merci la sncf et la pluie).
    Essais un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $('tesBox').click(function()(
        $(this).attr('checked',true);
        $('tesBox').not(this).attr('checked',false);
    ));
    Bon j'ai pas de crochet sur l'ipod donc je te laisse corriger.

  3. #3
    Membre averti
    Avatar de cahnory
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 203
    Points : 401
    Points
    401
    Par défaut
    Ma première proposition ne fonctionne pas parcontre celle-ci oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var e = ':checkbox[@name='+sID+']'
    $(e).click(function(){
    	$(e).attr('checked',false);
       	$(this).attr('checked',true);
    });

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Mon héros \o/ ! Merci beaucoup.

    Edit:

    Ouais en fait j'ai oublier de préciser que je voulais qu'une seule checkbox de coché mais que je puisse la décocher, j'ai donc essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $(e).click(function(){
    		$(e).attr('checked',false);
    		$(this).attr('checked', !$(this).attr('checked'));
    	});
    Mais ça ne fonctionne pas. oO

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Non en fait ça ne marche pas, il sélectionne toutes les checkbox au lieu de celles qui ont le bon @name.

    Edit: Bon ça marche, il suffisait d'enlever le "@" de "@name" (apparemment obsolète depuis la 1.3).

    Par contre je n'arrive toujours pas à décocher.

  6. #6
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Bon j'ai refais autrement en fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $(document).ready(function (){
    	$(':checkbox').click(function(){
    		tmp = $(this).attr('checked');
    		$(':checkbox[name='+$(this).attr('name')+']').attr('checked', false);
    		$(this).attr('checked', tmp);
    	});
    });

  7. #7
    Membre averti
    Avatar de cahnory
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 203
    Points : 401
    Points
    401
    Par défaut
    sinon tu pouvais surement faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var e = ':checkbox[@name='+sID+']'
    $(e).click(function(){
    	$(e).attr('checked',false);
       	$(this).attr('checked', !$(this).attr('checked'));
    });

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. choix d'une seul checkbox parmis 3 autres
    Par gastoncs dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/02/2014, 11h59
  2. Cocher une seule checkbox dans un tableau html
    Par arthuro45 dans le forum jQuery
    Réponses: 11
    Dernier message: 03/06/2011, 08h50
  3. Case a cocher (une seul coché possible)
    Par kevain_09 dans le forum IHM
    Réponses: 2
    Dernier message: 15/06/2007, 15h45
  4. récupération de deux valeurs dans une seule checkbox
    Par khayri dans le forum Struts 1
    Réponses: 2
    Dernier message: 10/04/2007, 10h31
  5. [Tableaux] Plusieurs valeurs pour une seule CheckBox
    Par Phenol dans le forum Langage
    Réponses: 2
    Dernier message: 01/03/2007, 17h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo