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

时间:2019-06-25 21:31:30

标签: javascript asp.net

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

我们要做的是在主数据管理表单中添加一个“打印”按钮-允许用户“按原样”打印现有报告。但是,如果用户更改了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";
    }

1 个答案:

答案 0 :(得分:1)

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

让您输入相同的类名并以这种方式绑定更改事件

$(".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/