取消选中客户端时获取Checkboxlist值

时间:2015-10-29 18:54:46

标签: jquery asp.net

如果取消选中项目,如何获取Checkboxlist值?我尝试了以下代码,但我没有得到这个值。请告诉我。

JQuery
----------------

    $(document).ready(function () {
        $("#<%=chkboxTypeList.ClientID%> input[type=checkbox]").click(function () {

            if (!this.checked) {
               alert($(this).val());
            }

        });

.aspx
-------------------
                        <asp:CheckBoxList ID="chkboxTypeList" runat="server" RepeatDirection="Horizontal">
                            <asp:ListItem Text="TEST 1" Value="1"></asp:ListItem>
                            <asp:ListItem Text="TEST 2" Value="2"></asp:ListItem>
                            <asp:ListItem Text="TEST 3" Value="3"></asp:ListItem>
                        </asp:CheckBoxList>

1 个答案:

答案 0 :(得分:2)

checkboxlist的值存储在Viewstate中,而不是呈现在客户端。

获取价值客户端的一种方法是使用Attribute

<asp:CheckBoxList ID="chkboxTypeList" runat="server" RepeatDirection="Horizontal">
     <asp:ListItem Text="TEST 1" Value="1" ClientValue="1"></asp:ListItem>
     <asp:ListItem Text="TEST 2" Value="2" ClientValue="2"></asp:ListItem>
     <asp:ListItem Text="TEST 3" Value="3" ClientValue="3"></asp:ListItem>
</asp:CheckBoxList>

然后呈现如下: -

<td>
  <span clientvalue="2">
    <input id="chklstStates_1" type="checkbox" name="chklstStates$1">
    <label for="chklstStates_1">TEST 2</label>
  </span>
</td>

然后使用: -

$(document).ready(function () {

    $("#<%=chkboxTypeList.ClientID%> input[type=checkbox]").change(function () {

        var value = $(this).parent().attr('clientvalue');

        if (!this.checked) {
           alert(value);
        }

    });
});