jQuery给下拉框赋值为何无法触发change事件?
jquery无法触发下拉框change事件
在一份页面中,有三个三级联动下拉框。开发者尝试使用jquery给省下拉框赋值,但发现市下拉框未按预期联动。而手动更改省下拉框选项时,市下拉框可以正常联动。这是怎么回事?
由于该页面无法直接修改,开发者需要在无侵入的情况下通过代码给省市区赋值。经过排查,发现ie控制台下的jquery赋值操作无法触发下拉框的change事件,从而导致市下拉框无法联动。
解决方案
为了解决这个问题,可以使用原生javascript代码手动触发change事件。具体步骤如下:
- 创建一个htmlevents事件对象(evt):
let evt = document.createevent('htmlevents');
- 初始化change事件(假冒页面下拉框的change事件):
evt.initevent('change', false, true);
- 触发下拉框的change事件:
select.dispatchEvent(evt);
其中,select是需要触发change事件的下拉框元素。
通过以上步骤,可以手动触发下拉框的change事件,从而解决因jquery赋值无法触发change事件而导致的联动问题。
以上就是jQuery给下拉框赋值为何无法触发change事件?的详细内容,更多请关注其它相关文章!