代码之家  ›  专栏  ›  技术社区  ›  Starx

如何获取复选框列表中所选复选框的值?

  •  0
  • Starx  · 技术社区  · 14 年前

    我想知道下面标记的选定值。这样,如果选中其中一个复选框,我就可以禁用文本框。

        <asp:CheckBoxList ID="ChkTest" runat="server" RepeatDirection="Horizontal" CssClass="toggleYesNo">
            <asp:ListItem Value="1">Yes</asp:ListItem>
            <asp:ListItem Value="0">No</asp:ListItem>
        </asp:CheckBoxList>
    

    我试过用这个功能,它好像不起作用

    $(document).ready(function() {
        $("#<%=ChkTest.ClientID %>").click(function() {
            value = $(this).val();
            if(value=='1') {
                $('#atextbox').attr('disabled','');
             }
             else {
                $('#atextbox').attr('disabled','disabled');
             }           
    
        });
    });
    

    我还跟踪输出HTML,但是ID、复选框列表以及分配给表的内容。

    更新的

    <table id="ChkTest" class="toggleYesNo" border="0">
        <tr>
            <td><input id="ChkTest_0" type="checkbox" name="ChkTest$0" /><label for="ChkTest_0">Yes</label></td><td><input id="ChkTest_1" type="checkbox" name="ChkTest$1" /><label for="ChkTest_1">No</label></td>
        </tr>
    </table>
    
    3 回复  |  直到 14 年前
        1
  •  1
  •   Starx    14 年前

    好,我解决了

    我的jquery函数是

    $(document).ready(function() {
        $("#<%=ChkTest.ClientID %> input").click(function() {
            value = $(this).attr('checked');
            if(value==true) {
                $("#TxtName").removeAttr("disabled");
            }
            else {
                $("#TxtName").val('');
                $("#TxtName").attr("disabled","disabled");
            }    
        });
    });
    

    这完全解决了它

        2
  •  0
  •   Russ Clarke    14 年前

    可能是选档器,你能试着换一下吗

    $("#<%=ChkTest.ClientID %>").click(function() {
    

    到:

    $('.ToggleYesNo').click(function() {
    

    如果这不起作用,您是否可以对从中获得的输出进行评论:

    alert($("#<%=ChkTest.ClientID %>"));
    alert($('.ToggleYesNo'));
    
        3
  •  0
  •   Starx    14 年前

    尝试

    $(document).ready(function() {
        $("#ChkTest").click(function() {
            value = $(this).find(':checked').val();
            if(value=='1') {
                $('#atextbox').attr('disabled','');
             }
             else {
                $('#atextbox').attr('disabled','disabled');
             }           
    
        });
    });
    

    编辑 基于OP更新

    $(document).ready(function() {
        $("#ChkTest :checkbox").click(function() {
            value = $(this).next().text().toLowerCase();
            if(value=='yes') {
                $('#atextbox').attr('disabled','');
             }
             else {
                $('#atextbox').attr('disabled','disabled');
             }           
    
        });
    });