我想知道下面标记的选定值。因此,如果选中了其中一个复选框,我可以禁用文本框。
<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>
答案 0 :(得分: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");
}
});
});
这完全解决了它
答案 1 :(得分:0)
它可能是选择器;你能尝试改变
吗?$("#<%=ChkTest.ClientID %>").click(function() {
要:
$('.ToggleYesNo').click(function() {
如果这没有帮助,你可以用你得到的输出评论:
alert($("#<%=ChkTest.ClientID %>"));
alert($('.ToggleYesNo'));
答案 2 :(得分: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');
}
});
});