javascript - 自动更改时 onChange 事件不起作用

标签 javascript html jsp struts-1

我在一个选择框(usageDisplays)上有一个 onChange 事件,它根据第一个选择框的选定值填充下一个选择框:

<html:select name="usageDisplays" property="name" indexed="true" onchange='<%="populateYearsList(" + Id + "," + name + ")"%>' />

当用户选择 useDisplays 中的值时,此方法可以正常工作,但当基于页面前面的单选按钮选择设置 useDisplays 的值时,则根本不起作用

getElementByName("usageDisplay.name").value = userName;

最佳答案

嗨 onchange 仅当选择值必须更改时才会触发,但在页面加载时它不会先选择任何内容然后再更改

以编程方式更改值不会触发更改事件,只有当用户聚焦元素、更改值然后将焦点放在其他位置时才会发生更改事件。

选项是手动调用 onchange 监听器,在元素上分派(dispatch)更改事件,或者通过在 DOM 上查找具有 onchange 监听器的父级并调用它们来手动冒泡更改事件。

这里有一个似乎符合要求的答案:手动触发 onchange 事件

一些链接:

MDN dispatchEvent (standards compliant): https://developer.mozilla.org/en/DOM/element.dispatchEvent
MSDN fireEvent (IE proprietary): http://msdn.microsoft.com/en-us/library/ie/ms536423(v=vs.85).aspx

关于javascript - 自动更改时 onChange 事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667105/

相关文章:

java - 在jsp中使用jtable为所有表添加分页

javascript - 当 <c :url> and <c:param> value is injected into a JavaScript string literal 时存在 XSS 漏洞

javascript - 这是什么意思 "assert(value[, message])"

javascript - 为什么 .html() 和 .text() 只选择第一个词?

javascript - < 后跟空格或不在正则表达式中

javascript - 如何立即加载深色主题

html - 100vh 在手机上不够高

html - CSS 选择相同的类名并分配不同的属性

html - 静态图像文件未在 jsp 页面中加载,外部 css 在 chrome 中不起作用

javascript - 升级英特尔应用框架 2.1 时出现 TypeError : o. Promise 不是函数