Jquery for checkbox不适用于模型弹出窗口

时间:2016-02-04 19:04:44

标签: javascript jquery asp.net checkbox

在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运行时错误:检查未定义的错误。

3 个答案:

答案 0 :(得分:0)

将此代码移至body标记的末尾

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

答案 1 :(得分:0)

点击更改为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>

答案 2 :(得分:0)

您可以在复选框上使用jquery'change'事件委派,并使用其属性选中以确定是否禁用该按钮。

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

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