我有一个正常的重置按钮。
<input type="reset" value="Reset" />
单击该按钮时,应该同时有其他jquery生效。
$('[type=reset]').click(function(){
$('input[name=24hours]:radio').trigger('change');
$(':checkbox').trigger('change');
});
问题是,我需要在执行$('[type=reset]').click(function()
中的jquery之前按两次重置按钮。为什么会发生这种情况以及如何避免它?
编辑:这是jsfiddle。 https://jsfiddle.net/fdvr05s4/9/
答案 0 :(得分:0)
我在这里看到的问题是,trigger('change')
在表单实际重置之前触发。因此,当您单击重置时,它会触发change
,因此没有任何反应,然后表单将重置为默认状态。现在,在第二次重置时,表单已处于默认状态,因此change
触发器现在可以按预期工作。
请尝试使用此解决方案。通过使用此功能,我们确保在触发change
之前已重置表单:
$('[type=button]').click(function(e){
e.preventDefault();
$('form')[0].reset();
$('input[name=yesno]:radio').trigger('change');
});