我实现了“计费地址与地址相同”函数,当检查复选框时,它会根据其他字段填充字段。完美的作品。
单击事件的功能。
if ($(this).attr('checked')) {
// copy address fields to billing fields
}
else{
// clear fields
}
现在,我使用一个事件(jQuery热键插件)自动填充表单中的所有字段,以便我可以轻松,快速地演示和测试表单。我不想使用作弊和填写账单字段作为地址字段
$("#CheckboxForAutofillId").trigger('click');
这在我第一次触发该事件时不起作用,因为在上面的函数中,它会检查checked的属性,但是trigger('click')显然会在更改属性之前调用该事件。
对于我来说,这意味着我必须正确地模拟它。
$("#CheckboxForAutofillId").attr("checked", "checked"); // sets checked
$("#CheckboxForAutofillId").trigger('click'); // fires event then 'unchecks'
$("#CheckboxForAutofillId").attr("checked", "checked"); // rechecks
阅读用于触发的jquery页面,我没有注意到这一点,也没有费心去探究源代码以查看实际发生的情况,但在我看来,理想情况下,触发事件应在设置“checked”属性之前触发事件本身,因为这可以更好地模拟人们选中复选框?
我想念什么吗?
最佳答案
您应该使用change()而不是click()。
$("#CheckboxForAutofillId").change(function()
{
if(this.checked) ...
});