Jquery for 复选框不适用于模型弹出窗口

Jquery for checkbox doesn't work for model popup

本文关键字:窗口 模型 适用于 for 复选框 不适用 Jquery      更新时间:2023-09-26

在ModalPopupExtender控件中,我有一个复选框。选中该复选框后,我希望启用或禁用弹出窗口中的"提交"按钮。

 <asp:CheckBox ID="chkUser" TabIndex="0" runat="server" CssClass="cCheckBox" ClientIDMode="Static" onchange="Checked();"/>

  src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type = "text/javascript">
    function Checked() {
        if(document.getElementById('<%=chkUser.ClientID%>').checked) {
            document.getElementById('<%=btnSubmit.ClientID%>').EnableSubmitButton = true;
        }
    }
</script>

我收到以下错误。

0x800a1391 - JavaScript 运行时错误:已检查未定义的错误。

将此代码移动到正文标签的末尾

<script type = "text/javascript">
  function Checked() {
    if(document.getElementById('<%=chkUser.ClientID%>').checked) {
      document.getElementById('<%=btnSubmit.ClientID%>').disabled = true;
    }
  }
</script>

此外,您可能需要处理复选框更改事件。

document.getElementById('<%=chkUser.ClientID%>').onchange = Checked;
单击

时更改为onchange="Checked(this);"

<asp:CheckBox  onchange="Checked(this);" ID="chkUser" TabIndex="0" runat="server" CssClass="cCheckBox" ClientIDMode="Static"/>
<script type="text/javascript">
    function Checked(ele) {
        document.getElementById('<%=btnSubmit.ClientID%>').disabled = !ele.checked;
    }
</script>

您可以在复选框上使用 jquery ' change ' 事件委托,并使用它的属性检查来确定是否禁用该按钮。

$().ready(function(){
      $('#<%=chkUser.ClientID%>').on('change',function(){           
       $('#<%=btnSubmit.ClientID%>').prop("disabled",!$(this).prop("checked"));
      });
});

例 : https://jsfiddle.net/DinoMyte/h712mu20/2/