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