当我更改选择下拉列表的值时,我在jQuery中获取.change()事件时遇到困难。我已经找到了一个可能的解决方案,虽然我遇到的那些似乎对我不起作用......
基本上我在网站上有一个事件,它被设置为WooCommerce中的变量产品,具有不同的时间段。我编写了一个相当复杂的算法来检测最大数量的人是否占用了那个时间段,以便让用户知道他们想要的时间和日期是否可用。该部分有效,但我需要在时间段下拉添加一个触发器以触发检查。
出于调试目的,我这样做了:
$('#time-slot').on('change', function() {
console.log("changed");
});
其中'#time-slot'是选择框的ID。但是,当我更改选择时,这似乎不会触发console.log文本。我甚至在我的控制台中尝试了以下内容:
$('#time-slot').trigger('change');
但是“已更改”的文字没有出现在我的控制台中。
然后我更改了我的代码,以便在点击时触发它。现在在我的控制台中:
$('#time-slot').trigger('click');
这次文本出现在我的控制台中就好了 - 我甚至尝试过各种其他随机事件,例如mouseup,mousedown和focus,每次手动触发事件,其他每一个都工作 - 除了改变是我的那个真的需要。
是否不再支持更改?还是我编码不正确?我使用的jQuery版本是1.11.3。
希望有一个简单的解决方案,也许我只是忽略了!
谢谢