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

ASP.NET Discussion :

Consommation de l'événement Checked sur un bouton radio


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Par défaut Consommation de l'événement Checked sur un bouton radio
    Bonjour,

    Je rencontre un soucis dans la consommation de l’événement checked sur un bouton radio, j'explique :

    J'ai un bouton radio comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:RadioButton ID="rdnMultiMer"  runat="server" Text="MultiMer"   GroupName="gnTypes"  CssClass="Bouton"  AutoPostBack="true" />
    Ce que je souhaite faire, c'est pouvoir check un autre bouton radio quand celui-ci est coché, et le décocher quand celui-ci est décocher également. Pour cela, j'ai pensé à 2 solutions que j'ai mis en oeuvre

    1ere solution : Avec l'évenement CheckedChanged dans l'attribut de la balise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:RadioButton ID="rdnMultiMer"  runat="server" Text="MultiMer"   GroupName="gnTypes"  CssClass="Bouton" OnCheckedChanged="rdnMultiMer_CheckedChanged" />
    voici la méthode correspondante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     protected void rdnMultiMer_CheckChanged(object sender, EventArgs e){
                if (rdnMultiMer.Checked)
                {
                    rbSante.Checked = true;
                }
                else
                {
                    rbSante.Checked = false;
                }
            }
    2eme solution : Utilisation de Jquery. Voici la fonction qui correspond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($('input[id$="rdnMultiMer"]').is(':checked')) {
                    $("#rbSante").attr('checked', 'checked');
                }
    Le problème : Malgré ces deux méthodes, l’événement "Checked" n'est géré qu'une seul et unique fois tant que la page n'est pas rafraîchi. Ce que je souhaiterai, c'est pouvoir cocher et décocher ce bouton radio à volonté et que cela produise l'effet désiré (c'est à dire cocher ou décocher l'autre bouton radio).

    Ce qui m'interpelle, c'est pourquoi cela n'est géré qu'une seul fois, et aussi, pourquoi mettre ceci AutoPostBack="true" pour que l’événement soit pris en compte immédiatement ? La gestion des événements de ce type m'échappe complètement.

    Merci pour votre aide

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 47
    Par défaut
    Bonjour,

    C'est très simple !
    Dans ton javascript, tu fais seulement un test lors du chargement de l'écran.
    Ce qu'il faut faire c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $("macheckbox").change(function() {
        if(this.checked) {
     
        }
    });
    Là, à chaque changement d'état, ton javascript sera relancé (mets un point d'arrêt pour vérifier).

    Par contre, si tu utilise cette méthode, retire complètement le traitement ASPX avec les postbacks afin d'éviter que l'un et l'autre se court-circuitent.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Par défaut
    Salut,

    Je suis nouveau dans le domaine de l'asp.NET et du Jquery, cela n'est pas très compliqué en effet

    J'ai essayé ta solution damienolive et j'ai réussi à la faire fonctionner correctement, merci beaucoup !!

    Maintenant il ne me reste plus qu'à affecter la valeur checked ou non à mon 2eme bouton radio, mais je n'y arrive pas , j'ai essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('input[name="rbSante"]').attr('checked', 'checked');
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#rbSante').val(['0'])
    mais cela ne marche pas . Une solution ? Merci d'avance !

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Quelle est la version de jQuery ?

    Si c'est la 1.9 (au supérieur), alors essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("macheckbox").prop("checked", true)
    Mais là, du coup j'aurais dû te déplacer dans le forum jQuery.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Par défaut
    Désolé avec toutes ces techno... je suis un peu paumé, surtout qu'au tout départ, c'est censé être un evenement reconnu dans les propirétés avec OnCheckedChanged, c'est pour cela que j'avais posté dans la partie Asp.NET au départ (sauf que je m’était trompé, et j'a posté dans ça dans ASP... bref).

    J'ai testé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $("rbSante").prop("checked", true);
    Et rien à faire... (avec $("#rbSante") aussi).

    PS : Ma version de Jquery est la plus récente, la 2.0.2 si je ne dis pas de bêtise.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 47
    Par défaut
    Bonjour,

    tu as un exemple ici :
    http://www.electrictoolbox.com/check...eckbox-jquery/

    J'espère que ça te servira

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('input[name=foo]').attr('checked', true);

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

Discussions similaires

  1. Comment attribuer un checked sur des boutons radio
    Par microJaP dans le forum jQuery
    Réponses: 6
    Dernier message: 14/02/2011, 12h44
  2. Réponses: 13
    Dernier message: 03/09/2010, 10h27
  3. Réponses: 2
    Dernier message: 11/02/2007, 10h00
  4. Boucle sur des boutons radios
    Par jmarey dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/05/2006, 11h03
  5. Texte qui s'affiche aprés le clique sur un bouton radio
    Par Rekiem dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/04/2006, 17h32

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