我试图在 jQuery (wordpress) 中触发下拉更改事件,但它不起作用。
jQuery("select.buDropDown").each(function() { this.selectedIndex = 0 }).trigger('change');
在控制台中运行它只会将 selectedIndex 更改为 0,但不会触发显示/隐藏页面上某些元素的更改事件。
但是,在控制台中运行它,一切都会正常触发:
$("select.buDropDown").each(function() { this.selectedIndex = 0 }).trigger('change');
我找不到任何“$”有效但“jQuery”无效的原因
我试着把它包装在:
jQuery(function($) {}
能够使用 $ 代替,但在 wordpress 代码中它仍然不会触发更改事件
有什么想法吗?
最佳答案
您的问题是您在关闭每个循环后调用触发器函数。这永远不会发生。以下将起作用:
jQuery("select.buDropDown").each(function() {
this.selectedIndex = 0;
jQuery(this).trigger('change');
});
顺便说一下,下面的声明:
$("select.buDropDown").each(function() { this.selectedIndex = 0 }).trigger('change');
意思是选择select.buDropDown的集合,循环这个集合,然后触发这个集合的变化。它只会触发此集合中第一个对象的更改。不是整体。
关于javascript - jQuery 不在下拉菜单上触发更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43135490/