Javascript 无法在jQuery中显示/隐藏复选框检查按钮
我正在使用ASP.NET复选框控件。我想做的是简单地更改复选框更改事件上按钮的可见性。 如果选中复选框,则隐藏按钮;如果未选中,则显示按钮 我的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: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个空格,或选择所有代码,然后在编辑器中单击{}
(代码图标)。我还为你编辑了它:)不用抱歉,伙计,很高兴我能帮上忙!