【问题标题】:asp.net - javascript better way to use onchange with multiple fieldsasp.net - 使用带有多个字段的 onchange 的 javascript 更好的方法
【发布时间】:2015-02-09 11:19:24
【问题描述】:

我有一个包含许多文本框的 asp.net 网页。 如果其中任何一个框我通过每个字段的 onchange 事件运行一些 javascript。 javascript 基本上将文本框更改为“Y”,因此我知道页面的哪个部分发生了更改。

一切正常,但是我只需要知道是否有办法使 onchange 调用更好/更短?由于我有超过 100 个文本框,每个文本框上都有很多重复的 onchange='CM('3');,所以我希望有更好的方法来处理这个问题。

有三个div,每个包含大约35个文本框,所以也许DIV有办法做到这一点,我不知道。

感谢任何指导。

<asp:TextBox ID="txtDC1_D" runat="server" CssClass="STD_desc160"   onchange="CM('3');"></asp:TextBox>
<asp:TextBox ID="txtDC1_C" runat="server" CssClass="STD_cur30"     onchange="CM('3');"></asp:TextBox>
<asp:TextBox ID="txtDC1_1" runat="server" CssClass="STD_value55"   onchange="CM('3');"></asp:TextBox>
<asp:TextBox ID="txtDC1_2" runat="server" cssClass="STD_value55"   onchange="CM('3');"></asp:TextBox>
<asp:TextBox ID="txtDC1_3" runat="server" cssClass="STD_value55"   onchange="CM('3');"></asp:TextBox>
<asp:TextBox ID="txtDC1_B" runat="server" CssClass="STD_bassis"    onchange="CM('3');"></asp:TextBox>
<br />
<asp:TextBox ID="txtDC2_D" runat="server" CssClass="STD_desc160"   onchange="CM('2');"></asp:TextBox>
<asp:TextBox ID="txtDC2_C" runat="server" CssClass="STD_cur30"     onchange="CM('2');"></asp:TextBox>
<asp:TextBox ID="txtDC2_1" runat="server" CssClass="STD_value55"   onchange="CM('2');" ></asp:TextBox>
<asp:TextBox ID="txtDC2_2" runat="server" cssClass="STD_value55"   onchange="CM('2');" ></asp:TextBox>
<asp:TextBox ID="txtDC2_3" runat="server" cssClass="STD_value55"   onchange="CM('2');" ></asp:TextBox>
<asp:TextBox ID="txtDC2_B" runat="server" CssClass="STD_bassis"    onchange="CM('2');"></asp:TextBox>
<br />

【问题讨论】:

  • jQuery 也是一种选择吗?
  • 目前我宁愿不使用 jQuery,但如果没有其他选择我会的。

标签: javascript asp.net onchange


【解决方案1】:

如果 jQuery 也是一个选项(我强烈推荐),那么:

$(function (){

    $("input[type=text]").on('change',function (){
     if ($(this).val()) $(this).val('Y'); else $(this).val('');
    })
});

如果没有,我会删除这个答案。

【讨论】:

  • 感谢您的回答,但我将如何摆脱我在 aspx 页面的每个文本框上进行的许多 onchange="CM('2'); 调用?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-22
相关资源
最近更新 更多