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