/ / Obtenir la dernière valeur sélectionnée d'une liste de contrôle asp.NET liée à une donnée avec jQuery - jquery, asp.net, checkboxlist, selectedvalue

Obtenir la dernière valeur sélectionnée d'une liste de contrôle asp.NET liée à une donnée avec jQuery - jquery, asp.net, checkboxlist, selectedvalue

J'ai une checkboxlist liée à la base de données dans asp.NET avec DataTextField et DataValueField.

Maintenant, si je sélectionne un seul élément dans cette liste, je dois avoir la valeur de cet élément uniquement.

J'ai trouvé beaucoup de solutions pour trouver les valeurs de tous les éléments sélectionnés, mais ce n'est pas ce dont j'ai besoin. La seule valeur dont j'ai besoin est celle que je viens de sélectionner ou de désélectionner.

Existe-t-il un moyen d'obtenir cette valeur avec du code jQuery? Par exemple dans une alerte comme dans le code ci-dessous.

$("#checkboxlist").click(function () {
alert("value of the item that just got (de)selected");
});

Merci beaucoup!

METTRE À JOUR: Ceci est la partie html:

<span id="checkboxlist">
<input id="checkboxlist_0" type="checkbox" name="checkboxlist$checkboxlist_0" value="11" />
<label for="checkboxlist_0">Item 1</label><br />

<input id="checkboxlist_1" type="checkbox" name="checkboxlist$checkboxlist_1" value="12" />
<label for="checkboxlist_1">Item 2</label><br />

<input id="checkboxlist_2" type="checkbox" name="checkboxlist$checkboxlist_2" value="13" />
<label for="checkboxlist_2">Item 3</label><br />

<input id="checkboxlist_3" type="checkbox" name="checkboxlist$checkboxlist_3" value="14" />
<label for="checkboxlist_3">Item 4</label><br />
</span>

Réponses:

3 pour la réponse № 1

Ce code devrait fonctionner (Attribut se termine avec sélecteur):

$("[id$="checkboxlist"] input").click(function () {
alert($(this).val());
});

asp:CheckBoxList sera rendu comme un élément (dans votre cas, il devrait être span) avec ID comme ctl00_contenttop_checkboxlist et entrées à l'intérieur. Le code ci-dessus trouvera toutes les entrées à l'intérieur de l'élément avec l'ID qui se termine par checkboxlist et sera déclenché quand un de ces éléments est cliqué.

Mais l'attribut ends pourrait être lent, il serait donc préférable de faire quelque chose comme ceci:

$("#<%=checkboxlist.ClientID %> input").click(function () {
alert($(this).val());
});

checkboxlist.ClientID renverra l'ID de l'élément wrapper côté client.

UPD:

Selon votre code HTML, il semble que l’ID client n’est pas nécessaire (comme vous utilisez .net 4 avec ClientIDMode activée). Dans ce cas, vous pouvez simplement utiliser:

$("#checkboxlist input").click(function () {
alert($(this).val());
});

Démo