jQuery给下拉框赋值为何无法触发change事件?

jquery给下拉框赋值为何无法触发change事件?

jquery无法触发下拉框change事件

在一份页面中,有三个三级联动下拉框。开发者尝试使用jquery给省下拉框赋值,但发现市下拉框未按预期联动。而手动更改省下拉框选项时,市下拉框可以正常联动。这是怎么回事?

由于该页面无法直接修改,开发者需要在无侵入的情况下通过代码给省市区赋值。经过排查,发现ie控制台下的jquery赋值操作无法触发下拉框的change事件,从而导致市下拉框无法联动。

解决方案

为了解决这个问题,可以使用原生javascript代码手动触发change事件。具体步骤如下:

  1. 创建一个htmlevents事件对象(evt):
let evt = document.createevent('htmlevents');
  1. 初始化change事件(假冒页面下拉框的change事件):
evt.initevent('change', false, true);
  1. 触发下拉框的change事件:
select.dispatchEvent(evt);

其中,select是需要触发change事件的下拉框元素。

通过以上步骤,可以手动触发下拉框的change事件,从而解决因jquery赋值无法触发change事件而导致的联动问题。

以上就是jQuery给下拉框赋值为何无法触发change事件?的详细内容,更多请关注其它相关文章!