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 :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part <asp:RadioButton ID="rdnMultiMer" runat="server" Text="MultiMer" GroupName="gnTypes" CssClass="Bouton" AutoPostBack="true" />
1ere solution : Avec l'évenement CheckedChanged dans l'attribut de la balise
voici la méthode correspondante :
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" />
2eme solution : Utilisation de Jquery. Voici la fonction qui correspond :
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; } }
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).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ($('input[id$="rdnMultiMer"]').is(':checked')) { $("#rbSante").attr('checked', 'checked'); }
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![]()
Partager