2013-02-06 27 views
0

定期<input type='reset'>复位形式重启完成事件到其初始状态的document.ready,但尽管改值没有调用的<select>的变化()事件。jQuery的复位按钮

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

一名2岁后jQuery的论坛,建议使用超时功能延迟.change()。现在有没有新的做事方式?

回答

2

我可以读这错了,但你在找类似的东西:

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

所以每当用户click S中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

+0

我会假设此时调用此事件处理程序,则值尚未重置。但我不知道。这只是一些评估。 –

+0

菲利克斯是对的。我需要在复位后触发更改。 – Jake

+0

是啊,我刚刚创建了一个小提琴例子在这里进行测试:http://jsfiddle.net/ChaseWest/JEeWw/1/这其实是正确的。 – Chase