2

私は、DataTextFieldとDataValueFieldを使用して、asp.NETにデータバインドされたチェックボックスリストを持っています。

そのリストで単一のアイテムを選択すると、そのアイテムのみの値が必要になります。

選択したすべてのアイテムの値を見つけるための解決策がたくさん見つかりましたが、それは必要なものではありません。必要な値は、選択または選択解除した値だけです。

jQueryコードでこの値を取得する方法はありますか? たとえば、次のコードのようなアラートで。

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

どうもありがとう!

更新: これは 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>
4

1 に答える 1

3

このコードは機能するはずです ( Attribute Ends with selector ):

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

asp:CheckBoxListspanのようなIDctl00_contenttop_checkboxlistとその内部の入力を持つ 要素(あなたの場合はそうでなければなりません)としてレンダリングされます。上記のコードは、で終わる ID を持つ要素内のすべての入力を検索しcheckboxlist、それらの要素の 1 つがクリックされたときに起動されます。

ただし、属性の末尾は遅くなる可能性があるため、次のようにしたほうがよい場合があります。

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

checkboxlist.ClientIDクライアント側のラッパー要素の ID を返します。

更新:

ClientIDModeHTMLによると、ClientIDは必要ないようです(.net 4を有効にして使用しているように見えるため)。その場合、次のように簡単に使用できます。

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

デモ

于 2012-12-05T12:38:37.833 に答える