gpt4 book ai didi

javascript - 我如何对表单下拉列表的 'onchange' 和 'aspx state' 信息使用react?

转载 作者:行者123 更新时间:2023-12-02 16:33:26 25 4
gpt4 key购买 nike

当我有一个对 onchange 事件使用react的下拉菜单时,我正在寻找一种在我看来是处理页面刷新的简单模式。

我在后面的 vb 代码中使用了以下内容(在 Load 处理程序中):

MyDropDown.Attributes.Add("onchange", "ProcessDDChange(this.value);")

函数ProcessDDChange()是页内JavaScript,它使下拉列表的某些值的其他一些表单输入变灰。

这工作正常,但在回发后,恢复先前状态时显然不会触发 onchange,因此禁用的框会再次启用。

我已经研究了 load 事件(页面和下拉列表),但是这两个事件都触发得太早而无法使用,而且我看不到任何后续选项。

有执行此操作的标准方法吗?我需要一个钩子(Hook)来在 DOM 设置后、asp 状态恢复后运行 js 函数。

信息

我正在使用 .net 3.5,并且正在寻找跨浏览器解决方案。这不是我的项目,所以我无法添加 jQuery(尽管我很想)或其他库。

最佳答案

您可以将下拉列表包装在更新面板中,并像 epascarello 建议的那样设置更改事件的触发器。您是否尝试过将其添加到标记中,例如

 <asp:DropDownList runat="server" ID="MyDropDown" onchange="ProcessDDChange(this.value);"></asp:DropDownList>

编辑:

因此,当您回发时,您将丢失 onchange 监听器,上面的示例应该保留它。但如果没有,您也可以在您想要调用 ProcessDDChange: for vb.net 的代码隐藏事件中尝试此操作

  ScriptManager.RegisterClientScriptBlock(Me, Me.GetType(), "err", "ProcessDDChange(this.value);", true);

最终编辑:

感谢鲍勃在我试图理解这个问题时坚持跟我说:document.ready 事件在 PageLoad 事件完成并且 DOM 构建完成后引发。这是调用 ProcessDDChange() 的正确位置。

  document.addEventListener("DOMContentLoaded", function(event) { 
ProcessDDChange(ddlId.selectedValue);
});

关于javascript - 我如何对表单下拉列表的 'onchange' 和 'aspx state' 信息使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28116371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com