常规<input type='reset'>
将表单重置为其初始document.ready状态,但不会调用<select>
的change()事件,尽管值已更改。
我想通过直接调用$('select').change()
来强制更改事件,但我需要在重置完成后调用它,我应该收听重置按钮的complete()事件是什么?按钮上是否有“resetcomplete”事件?
jQuery论坛上一篇2年的帖子建议使用超时功能来延迟.change()
。现在有没有新的做事方式?
答案 0 :(得分:4)
我本可以读错了,但是你在寻找类似的东西:
$(document).on("click", "input[type='reset']", function(){
$("select").trigger("change");
});
因此,只要用户click
成为reset
按钮,就会trigger
change
个select
个事件。
修改强>
从click事件中获取请求并阻止默认行为,重置表单然后触发更改:
$(document).on("click", "input[type='reset']", function(e){
e.preventDefault();
form = e.toElement.form;
form.reset();
$("select",form).trigger("change");
});
<强> EXAMPLE 强>