Comment faire une boucle par le biais d'un bouton radio liste
J'ai cherché en ligne et n'ai pas trouvé une bonne méthode pour sélectionner les radiobuttonlist de contrôle .net
J'ai donc ajouter une classe à chaque radiobuttonlist et à l'aide de sélecteur de classe pour chaque boucle, cependant, il semble que chaque fois que l'un des changements, à tout changement. Voir mon code comme suit:
C'est jQuery partie:
function Checkform() {
result=true;
$('.rbl').each(function() {
var cc = $(this + "[checked]").val();
if (cc == undefined) {
result = false;
return false;
}
});
return result;
}
C'est la partie web:
<form id="form1" runat="server" onsubmit="return Checkform();">
<asp:RadioButtonList ID="RadioButtonList1" class="rbl" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:RadioButtonList>
<asp:RadioButtonList ID="RadioButtonList2" class="rbl" runat="server"
RepeatDirection="Horizontal">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
</asp:RadioButtonList>
Ce que je veux faire est de vérifier si tous les radiobuttonlist contrôle a sa valeur sélectionnée avant de soumettre le formulaire. Mais il fonctionne que l'on a choisi la valeur, la fonction retourne true, peu importe la météo l'autre a de la valeur sélectionnée. Merci de m'aider sur ce problème. Je vous remercie à l'avance.
OriginalL'auteur Steven Zack | 2011-04-13
Vous devez vous connecter pour publier un commentaire.
Comment à ce sujet:
Cette examinera chaque groupe et de déterminer s'il existe un radiobuttom sélectionné au sein du groupe. La clé est
$(this).find('..')
qui renvoie tous les "vérifié" boutons radio dans le groupe actuel, qui est égale à zéro si aucune n'est sélectionnée, et 1 si l'on est sélectionné.OriginalL'auteur fredw
Oui, votre fonction retourne true car il commence par en supposant que son état est "vrai". Quand il parcourt "RadioButtonList1" et trouve un contrôle est sélectionné (que je suis en supposant que l'on sera par défaut), il reviendra également vrai.
Essayez le code suivant:
Cette ligne sera de retour que ces boutons radio dont la valeur est définie sur activée. Vous pouvez ensuite effectuer une itération sur les éléments pour obtenir plus d'informations, tels que leur valeur:
Oui, vous avez raison, je suis en train de faire la validation.
Alors, comment s'assurer que les deux radiobuttonlist a été sélectionné une option?
Ah. Un peu de mal avec le libellé de la question.
OriginalL'auteur Phil.Wheeler
Si je comprends votre question correctement, vous voulez vous assurer que tous les
RadioButtonList
a quelque chose sélectionnés avant de vous les présenter. Il ya un couple de façons de le faire.On dirait que vous êtes à l'aide de Formulaires web de sorte que vous n'avez pas besoin de toucher jQuery, vous pourriez faire cela avec un RequiredFieldValidator (un pour chaque
RadioButtonList
) et vous êtes tous ensemble.Si vous voulez aller à la jQuery, alors il est plus facile de penser à votre question "de Faire toute la RadioButtonLists PAS un élément sélectionné." Pour répondre à vous:
Sélectionnez tous les boutons radio avec la classe appropriée
Obtenir une liste distincte de noms (car c'est la façon dont les boutons radio sont regroupés). Il y a de nombreux façons pour ce faire, certains sont plus faciles que d'autres. Vous pouvez utiliser le carte utilitaire pour créer une liste de noms (que vous pouvez ensuite faire distincts)
Sélectionnez tous les
checked
boutons radio avec la classe appropriée (c'est un bouton radio liste, vous ne pouvez pas avoir plus d'unchecked
élément à la fois, alors ils seront uniques)Comparer les listes pour voir si ils sont de la même taille. Si ils sont ensuite chaque liste a un élément est sélectionné, si elles ne sont pas alors au moins une liste n'a pas tous les éléments sélectionnés. Vous pouvez utiliser la carte pour transformer cela en une liste de noms, mais il n'est pas nécessaire que vous êtes tout simplement en comparant tableau des longueurs.
Si vous aussi vous voulez savoir qui bouton radio liste(s) n'ont pas une valeur sélectionnée, vous devez présenter la carte sur le tableau à partir de l'étape 3, puis de voir quels noms sont dans
all
mais pas dansselected
.OriginalL'auteur R0MANARMY
Cela permettra d'assurer que chaque RadioButtonList a un élément coché. Donc, si il y a 2 listes et 2 éléments cochés puis elle retourne true.
Je sais, mais je n'ai pas reçu ce qu'il avait besoin que de la description.
J'ai mis à jour le code. Maintenant, il va vérifier que tous les "rbl" RadioButtonLists ont un élément coché.
Non, il ne le sera pas, jetez un oeil à cette question, le RadioButtonList classe rend VRAIMENT horrible HTML.
Je sais que c'est rendu dans certains funky html, mais qui n'a pas d'importance. '$(".rbl")' est le nombre de RadioButtonLists (qui est le RadioButtons enveloppé dans un tableau). '$(".rbl :checked")' est le nombre de points contrôlés dans une "liste noire" de la table. Puisque vous ne pouvez avoir qu'un bouton radio coché dans chaque groupe, ce code devrait fonctionner.
OriginalL'auteur Homer