我有一个功能可以通过执行以下操作取消选中复选框:
$('[name = destination]').removeAttr('checked');
现在我希望在复选框上触发一个事件,就像我手动检查它一样。有这方面的活动吗?
我试过改变并点击。当我手动选中/取消选中该框时,两者都可以工作,但像这样完成时则不行。
我有一个功能可以通过执行以下操作取消选中复选框:
$('[name = destination]').removeAttr('checked');
现在我希望在复选框上触发一个事件,就像我手动检查它一样。有这方面的活动吗?
我试过改变并点击。当我手动选中/取消选中该框时,两者都可以工作,但像这样完成时则不行。
而不是删除属性,为什么不将属性设置为 false
$('[name = destination]').removeAttr('checked');
尝试
$('[name = destination]').prop('checked', false);
然后写下处理您正在寻找的此功能的事件
$('[name = destination]').on('click' , function(){
var $chk = $('[name="description"]');
if($chk.is(':checked')){
console.log('Checkbox is checked !!');
}
else{
console.log('Checkbox is now UNCHECKED !!');
}
});
$('[name = destination]').prop('checked', false).trigger('click');
您也可以使用.trigger()
方法手动触发事件
$('[name = destination]').trigger('click');
触发事件时要小心
如果您使用它来检查状态,则在这种情况下可能不会反映当前的属性状态
当您更改属性时,您将需要手动触发 a change
or事件(并且您可能应该通过而不是 来执行此操作,正如另一位海报提到的那样)click
checked
prop
changeAttribute
这只是意味着,而不仅仅是
$('[name = destination]').removeAttr('checked');
做
$('[name = destination]').removeAttr('checked');
$('[name = destination]').trigger('click');
$('[name = destination]').click(); 触发事件
它将在您手动单击复选框时起作用