2010-06-03 71 views
0

我想知道下面标记的选定值。这样我可以禁用文本框,如果其中一个复选框被选中。如何获取checkboxList中所选复选框的值?

<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的CheckBoxList的将分配给表代替。

修订

<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> 

回答

1

好更新时,我解决了它

我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"); 
     }  
    }); 
}); 

这完全解决了这个问题

+0

评论'.attr('如果选中,则检查')并不总是'true'...当检查属性'checked'包含任何值时(除了'null','false')它总是检查状态...例如'checked =“选中“' – Reigel 2010-06-03 09:03:02

+0

然后如何解决这个问题 – Starx 2010-06-03 09:39:16

+0

你可以'value = $(this).is(':checked');'如果复选框被选中或不选中,则返回true或false。 – Reigel 2010-06-03 09:51:24

0

这可能是选择器;你可以尝试改变

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

要:

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

如果没有帮助,您可以与输出评论您获得:

alert($("#<%=ChkTest.ClientID %>")); 
alert($('.ToggleYesNo')); 
+0

它输出'output'对象 我也附带了部分的HTML OUTPUT。我可以静态调用这两个复选框,但它不是那么灵活 – Starx 2010-06-03 08:30:53

0

尝试

$(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'); 
     }   

    }); 
}); 
+0

这没有工作 – Starx 2010-06-03 08:43:17

+0

请参阅编辑... – Reigel 2010-06-03 08:44:21

+0

我也解决了,请找到我的解决方案并对此 – Starx 2010-06-03 09:41:12