复选框选中状态在ASP.NET中出错

时间:2014-01-30 06:58:39

标签: javascript jquery asp.net

我的ASP.NET应用程序有两个复选框。我想检查一个复选框,检查条件是另一个复选框。条件是如果没有检查另一个复选框,则只检查,否则不检查。为此,我必须检查已检查状态。这是由**$(chkmanual).is(":checked")**

执行的

下面给出的代码snipet:

function UpdateCheck() {
  var chkmanual = $("[id*=chkManual]");
  alert($(chkmanual).is(":checked")); //here i getting always true. 
  if (!$(chkmanual).is(":checked"))
  {                 
     chkmanual.click();
  }
}

我的复选框如下:

<asp:DataList ID="dgDeviceList" runat="server">
  <HeaderTemplate>
     <table cellpadding="5" cellspacing="5" width="100%">
        </HeaderTemplate>
           <ItemTemplate>
              <tr>
                  <td>
              <ajaxToolkit:ToggleButtonExtender ID="ToggleExManual" runat="server" TargetControlID="chkManual" CheckedImageAlternateText="Check" UncheckedImageAlternateText="UnCheck" UncheckedImageUrl="~/images/empty.png"
CheckedImageUrl="images/checkbox.png" ImageWidth="30" ImageHeight="30" DisabledCheckedImageUrl="~/images/DisableCheckbox.png"                                           DisabledUncheckedImageUrl="~/images/DisableEmpty.png" />
              <ajaxToolkit:ToggleButtonExtender ID="ToggleExPatientOwned" runat="server" TargetControlID="chkPatientOwned" CheckedImageAlternateText="Check" UncheckedImageAlternateText="UnCheck" UncheckedImageUrl="~/images/empty.png"
 CheckedImageUrl="images/checkbox.png" ImageWidth="30" ImageHeight="30" DisabledCheckedImageUrl="~/images/DisableCheckbox.png"DisabledUncheckedImageUrl="~/images/DisableEmpty.png" />
    <asp:CheckBox ID="chkManual" runat="server" Text="Manual" Width="100px" CssClass="chkPosition" Enabled="false" />
    <asp:CheckBox ID="chkPatientOwned" runat="server" Text="Patient Owned" Width="130px" onclick="javascript:UpdateCheck();" CssClass="chkPosition" Enabled="false" />
              </td>
            </tr>
           </ItemTemplate>
          <FooterTemplate>
         </table>
       </FooterTemplate>
</asp:DataList>

2 个答案:

答案 0 :(得分:0)

演示FIDDLE

<强> HTML

<input type="checkbox" id="manual">
<input type="checkbox" onclick="updateCheck(this);">

<强> Jquery的

function updateCheck(sender)
{
    if(!$(sender).prev('#manual').prop('checked'))
        $(sender).attr("checked",true);
    else
        $(sender).attr("checked",false); 
}

答案 1 :(得分:0)

您可以在asp.net客户端代码(aspx页面)中使用javascript来检查它。 尝试以下代码,它很简单,适合您。

<script type="text/javascript">
    function EnableDisableCB() {
        if (document.getElementById('<%=checkBox1.ClientID%>').checked) {
            document.getElementById('<%=checkBox2.ClientID%>').disabled = true;
        }
        else {
            document.getElementById('<%=checkBox2.ClientID%>').disabled = false;
        }
    }
</script>

上面的简单脚本将启用禁用第二个复选框,具体取决于您的第一个复选框条件。