我正在设置选择列表的选定值,如下所示
$("#typeFilter").val("0");
我的问题是做这个,触发$("#typeFilter").change
事件?
答案 0 :(得分:4)
如果您想在设置值trigger
后触发事件,则不会触发更改事件。仅当来自设备的交互不是使用javascript时才会触发更改事件。
$("#typeFilter").val("0");
$("#typeFilter").trigger('change');
答案 1 :(得分:3)
不,它没有!除非用户交互更改了值,否则不会触发更改事件。
你可以自己尝试一下。选择任何文本框的ID。可以说id是“inputEmail”。请尝试以下代码:
$("#inputEmail").change(function() {
alert("changed");
});
然后尝试以下代码行:
$("#inputEmail").val("abc");
请注意,警报信息未显示。
答案 2 :(得分:3)
不,它不会触发它,因为它可以在live demo
中看到。设置值后,您需要手动触发它:
$("#typeFilter").change();
答案 3 :(得分:1)
Nopes。它没有改变。这是我使用的代码:
$(document).ready(function(){
setTimeout(function(){
$("#test").val("3");
}, 1000);
$("#test").change(function(){
alert("Changed!");
});
});
因此,如果您想触发更改,可以使用以下内容:
$(document).ready(function(){
$("#test").val("3").trigger("change");
$("#test").change(function(){
alert("Changed!");
});
});