Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在jQuery中显示/隐藏复选框检查按钮_Javascript_Jquery_Asp.net_Checkbox - Fatal编程技术网

Javascript 无法在jQuery中显示/隐藏复选框检查按钮

Javascript 无法在jQuery中显示/隐藏复选框检查按钮,javascript,jquery,asp.net,checkbox,Javascript,Jquery,Asp.net,Checkbox,我正在使用ASP.NET复选框控件。我想做的是简单地更改复选框更改事件上按钮的可见性。 如果选中复选框,则隐藏按钮;如果未选中,则显示按钮 我的jQuery代码有两个问题 初始更改时未触发事件。我已经在jQuery代码上设置了断点,函数没有被调用。在第二次更改时,它会被定期调用 当按钮显示它只在不到一秒的时间内可见,然后返回到“隐藏”,即使在下一次更改之前,它也显示为可见 这是我的ASP.NET代码: <asp:UpdatePanel UpdateMode="Conditional" ID

我正在使用ASP.NET复选框控件。我想做的是简单地更改复选框更改事件上按钮的可见性。 如果选中复选框,则隐藏按钮;如果未选中,则显示按钮

我的jQuery代码有两个问题

  • 初始更改时未触发事件。我已经在jQuery代码上设置了断点,函数没有被调用。在第二次更改时,它会被定期调用

  • 当按钮显示它只在不到一秒的时间内可见,然后返回到“隐藏”,即使在下一次更改之前,它也显示为可见

  • 这是我的ASP.NET代码:

    <asp:UpdatePanel UpdateMode="Conditional" ID="upDirectDebitPanel" runat="server" EnableViewState="True">
        <ContentTemplate>
            <div runat="server" id="divSameAsMerchant" visible="False">
                <asp:CheckBox runat="server" ID="chkSameAsMerchantBank" AutoPostBack="True" Checked="True" OnCheckedChanged="chkSameAsMerchantBank_CheckedChanged" />
                <asp:Label runat="server" AssociatedControlID="chkSameAsMerchantBank" ID="lblSameAsMerchantBank" meta:resourcekey="lblSameAsMerchantBank"></asp:Label>
                <asp:Button runat="server" ID="btnShowBankInformationModal" meta:resourcekey="btnShowBankInformationModal" CausesValidation="False" style="visibility: hidden"/>
            </div>
        </ContentTemplate>
    </asp:UpdatePanel> 
    
    有人知道我做错了什么吗?

    在您的代码中

    //changes made here
    //$(sameAsMerchantBank).change(function () {
    $(document).on("change",sameAsMerchantBank,function () {
         if ($(this).is(":checked")) {
               $(btnShowBankInformationModal).css("visibility", "hidden");
         }
         //always goes here
         //$(btnShowBankInformationModal).css("visibility", "visible");
         //put else
         else{
           $(btnShowBankInformationModal).css("visibility", "visible");
         }
    });
    
    在你的代码中

    //changes made here
    //$(sameAsMerchantBank).change(function () {
    $(document).on("change",sameAsMerchantBank,function () {
         if ($(this).is(":checked")) {
               $(btnShowBankInformationModal).css("visibility", "hidden");
         }
         //always goes here
         //$(btnShowBankInformationModal).css("visibility", "visible");
         //put else
         else{
           $(btnShowBankInformationModal).css("visibility", "visible");
         }
    });
    

    我以前遇到过这个问题。这是更新面板的常见问题。有两种方法可以解决。 使用该复选框的触发器或使用以下代码:

    function load() {
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(jsFunctions);
    }
    function jsFunctions() {            
            $("#btnClick").click(function () {                    
                alert("Alert: Hello from jQuery!");
        });
    }
    

    这是代码。请在jsfunctions函数中重新绑定事件。

    我以前遇到过这个问题。这是更新面板的常见问题。有两种方法可以解决。 使用该复选框的触发器或使用以下代码:

    function load() {
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(jsFunctions);
    }
    function jsFunctions() {            
            $("#btnClick").click(function () {                    
                alert("Alert: Hello from jQuery!");
        });
    }
    

    此代码。请在jsfunctions函数中重新绑定事件。

    通过
    $(文档)尝试。在(“更改”,sameAsMerchantBank,函数(){//do stuff})
    您还应该编写
    else
    它每次为
    $(btnShowBankInformationModal.css(“可见性”、“可见”)@ParthTrivedi是的,谢谢,我刚刚注意到缺少其他部分。这解决了问题的一部分。但“仍然”按钮仅在短时间内显示…是的,因为您正在执行
    Checked=“True”
    ,然后在加载
    DOM
    后触发此
    change
    事件。您是否可以共享您在
    chkSameAsMerchantBank\u CheckedChanged
    事件下执行的操作。请按
    $(文档)尝试。打开(“更改”,sameAsMerchantBank,函数(){//do stuff})
    您还应该编写
    else
    它每次为
    $(btnShowBankInformationModal.css(“可见性”、“可见”)@ParthTrivedi是的,谢谢,我刚刚注意到缺少其他部分。这解决了问题的一部分。但“仍然”按钮仅在短时间内显示…是的,因为您正在执行
    Checked=“True”
    ,然后在加载
    DOM
    后触发此
    change
    事件。您是否可以共享您在
    chkSameAsMerchantBank\u CheckedChanged
    事件下执行的操作。您添加代码的方式错误。在每行之前添加4个空格,或选择所有代码,然后在编辑器中单击
    {}
    (代码图标)。我还为你编辑了它:)不用抱歉,伙计,很高兴我能帮上忙!您以错误的方式添加代码。在每行之前添加4个空格,或选择所有代码,然后在编辑器中单击
    {}
    (代码图标)。我还为你编辑了它:)不用抱歉,伙计,很高兴我能帮上忙!