javascript - ASP.Net - 如果任何控件值发生更改,如何隐藏(打印)按钮

标签 javascript asp.net

在我们当前的方案中,我们有一个 Crystal 报表,可以在保存/更改记录后显示该报表。

我们想要做的是在主数据管理表单中添加一个“打印”按钮 - 允许用户“按原样”打印现有报告。但是,如果用户更改 20 多个字段中的任何一个,我想禁用/隐藏打印按钮(这些控件是选中、文本和下拉框的混合)。

无需为每个控件添加代码更改事件,是否有一种方法(假设是 javascript)来捕获对任何一个控件的更改,然后隐藏/禁用打印按钮,直到保存更改?

编辑: 使用@Bosco提供的答案,以下代码是我们解决方案的示例:

 <asp:DropDownList ID="TypeDDL" CssClass="dropDownList1 ChangeClass" runat="server"
<asp:TextBox ID="DescriptionTextBox" runat="server" class="descriptionText ChangeClass" TextMode="MultiLine"></asp:TextBox>


        $(".ChangeClass").on("change", ManagePrintButton);

    function ManagePrintButton() {
        //debugger;
        var btn = document.getElementById("btnPrintExport");
        btn.style.display = "none";
    }

最佳答案

您可以使用 jQuery 通配符选择器。

给您输入相同的类名,并以这种方式将更改事件绑定(bind)到它们

$(".theClass").on("change");

另一种方法是使用 id

假设 ID 以特定文本/字符开头或以特定文本/字符结尾

$("[id^=theText]")
//This gets all the elements that the id starts with theText

$("[id$=theText]")
 //This gets all the elements that the id ends with theText

还有 JQuery 文档 https://api.jquery.com/category/selectors/

关于javascript - ASP.Net - 如果任何控件值发生更改,如何隐藏(打印)按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56762284/

相关文章:

c# - 使用数据类型为longblob的mysql将图像插入数据库

asp.net - 传递一个值到下一页

javascript - 使用命名空间调用jquery

javascript - 在 Javascript 中对具有单个元素的数组调用 Array.reduce

javascript - 如何部署钛工作室制作的应用程序?应用商店和安卓市场都有。为此需要做哪些事情呢?

javascript - 如何使用select2显示为文本框?

c# - 调试器不会因错误而停止

c# - 为现有网站创建母版页的指南

c# - 在sql server数据库中存储不同语言的字符串必须考虑什么?

jquery - 如何解析ajax请求的json响应?