JQuery: l'obtention de la valeur/texte/innerHtml d'une case à cocher dans un ASP.NET CheckBoxList de contrôle
J'ai un tas de cases à cocher généré par un asp.net CheckBoxList de contrôle. Je veux obtenir le texte que l'utilisateur voit à côté de la commande sur la page.
Avec des contrôles similaires, comme RadioButtonList, j'ai été en mesure de mettre leurs valeurs en jQuery en faisant ceci:
var selected = $("input:checked[id*='" + Control.id + "']");
puis en boucle à travers et obtenir la valeur:
var whatIwant = selections[i].value;
(Dans ce cas, que la "valeur" sera le texte que je veux).
Mais - CheckBoxList rend différemment. Pour chaque ListItem il n'y a pas seulement l'entrée, mais une balise html comme ceci:
<input id="ctl00_ContentPlaceHolder1_ConsultedList_0" type="checkbox" name="ctl00$ContentPlaceHolder1$ConsultedList$0" />
<label for="ctl00_ContentPlaceHolder1_ConsultedList_0">Other service providers</label>
Comme vous pouvez le voir, la balise d'entrée lui-même, qui est ce que mon joli petit jQuery requête trouve, ne comprend pas l'information que je veux: "d'Autres fournisseurs de services". C'est sur l'étiquette.
Quelqu'un peut penser à une bonne solution pour cela - peut-être une bonne façon de faire de la CheckBoxList rendre le texte dont j'ai besoin dans la balise input, ou astucieux jQuery pour trouver les étiquettes qui correspondent à la sélectionné les entrées?
OriginalL'auteur MGOwen | 2009-08-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le sélecteur vous utilisez déjà (mais il suffit d'utiliser la clientId), puis obtenir le frère suivant (sur l'étiquette) et obtenez sa valeur de texte
e.g
Ou vous pouvez juste obtenir le label à l'aide de son attribut
OriginalL'auteur redsquare
Vous aurez à effectuer une itération sur vos éléments de formulaire, à la recherche de l'étiquette et de saisir son texte interne, ASP .NET encapsule les cases à cocher dans un tableau avec le ClientID de la commande, vous pouvez utiliser un sélecteur comme suit:
Le rendu au format HTML par ASP .NET pour CheckBoxLists ressemble à ceci:
Vous pouvez consulter un exemple avec l'ASP .NET généré le balisage ici.
OriginalL'auteur CMS
Permet de voir Si ListItems ont leur texte et des valeurs différentes ? -
Je l'ai expliqué tous les cas possibles d'obtenir des valeurs/texte de la case à cocher ou checkboxlist comme ci-dessous:-
Cas 1:- Si CheckBoxList Éléments de Texte et les Valeurs sont les mêmes
appel ci-dessous js fonction onclick ou partout où vous avez besoin (si nécessaire appel dans le document.prêt bloc)
Cas 2:- Si CheckBoxList Éléments de Valeurs est dans l'Ordre Numérique (ex: 1,2,3 ...n, bien sûr, de nombreuses fois que nous utilisons cette façon)
js fonction serait comme ci-dessous
Cas 3:- Si CheckBoxList Éléments les Valeurs sont certains shortforms/initiales de son texte (e.g de Mangue, je dirais "M")
Ici, j'ai utilisé une astuce pour obtenir les valeurs des cases à cocher sur la page de sorte qu'il peut être facilement accessible lors de l'écriture de script js.
C'est, je suis en utilisant un hiddenfield avec checkboxlist qui permettra d'obtenir toutes les valeurs disponibles dans checkboxlist cours d'analyse html et de les stocker sur la page de sa valeur.
Voir ci-dessous:-
Je suis à l'aide d'un code html hiddenfield pas le runat=server un que nous n'avons pas besoin d'écrire du code en cs à l'aide de cette hiddenfield. Ici, le rôle de hiddenfield n'est rien mais le consolateur, qui permettra d'offrir plus de confort lors de l'écriture de js et pour obtenir les valeurs des checkbox.
Et maintenant, nous allons voir la façon dont le scénario serait d'oeil:-
De la même façon que vous pouvez faire sur radibuttonlist/radiobutton.
OriginalL'auteur ramby
Essayez d'utiliser
Control.ClientID
source [MSDN]
Par exemple
Veuillez vous référer à la source pour plus d'options.
OriginalL'auteur ChaosPandion