2010-06-03 98 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