0

常规<input type='reset'>将表单重置为其初始 document.ready 状态,但不会调用 change() 事件,<select>尽管值已更改。

我想通过直接调用来强制更改事件,$('select').change()但我需要在重置完成后调用它,我应该听的重置按钮的 complete() 事件是什么?按钮上是否有“resetcomplete”事件?

jQuery 论坛上的一篇 2 年前的帖子建议使用超时功能来延迟.change(). 现在有没有新的做事方式?

4

1 回答 1

6

我可能读错了,但是您是否正在寻找类似于以下内容的内容:

$(document).on("click", "input[type='reset']", function(){
   $("select").trigger("change");
});

因此,每当用户按下按钮时,您都会为任何clicks提供一个事件。resettriggerchangeselect

编辑:

从点击事件中获取请求并阻止默认行为,重置表单然后触发更改:

$(document).on("click", "input[type='reset']", function(e){
  e.preventDefault();
  form = e.toElement.form;
  form.reset();  
  $("select",form).trigger("change");
});

例子

于 2013-02-06T19:41:38.897 回答