JS模拟select点击,触发change事件

这个问题困扰一时,搜了很久的答案,都是千篇一律,试了很多方法都不行,后来偶然尝试后,就解决了,现在记录一下:

  1. 原生JavaScript:
    chrome和firefox下使用 select.dispatchEvent(new Event(‘change’)) ,即可实现change事件的触发(例如选择某一项下拉值,然后触发刷新表格);
    IE浏览器有一个相关api叫做:fireEvent,select.fireEvent(‘onchange’)
  2. JQuery使用$(obj).trigger(eventName)方法

重点:

// JS模拟select点击,触发change事件
select.dispatchEvent(new Event('change'))
// 举例:
var select = document.getElementsByClassName('select-panel')[0];
select.getElementsByTagName('option')[0].value=999;
select.getElementsByTagName('option')[0].innerText=999;
select.getElementsByTagName('option')[0].selected=true;
select.dispatchEvent(new Event('change'))

遇到问题,解决问题,记录一下,分享给更多需要的人。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐