removeAttr('checked')选中复选框时的事件

时间:2013-01-11 20:09:30

标签: jquery

我有一个功能可以通过执行以下操作取消选中复选框:

$('[name = destination]').removeAttr('checked');

现在我希望在复选框上触发一个事件,就像我手动检查一样。是否有此事件?

我尝试过更改并点击。当我手动选中/取消选中复选框时,两者都有效,但是当这样做时,它们都不起作用。

3 个答案:

答案 0 :(得分:2)

除了删除属性之外,为什么不将属性设置为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');

触发事件时要小心

如果您使用检查状态

,则可能无法反映当前的媒体资源状态

<强> Check Fiddle

答案 1 :(得分:1)

当您更改change属性时,您将需要手动触发clickchecked事件(您应该通过prop代替changeAttribute,如另一张海报所述)

这只是意味着而不仅仅是

$('[name = destination]').removeAttr('checked');

DO

$('[name = destination]').removeAttr('checked');
$('[name = destination]').trigger('click');

答案 2 :(得分:0)

火灾事件 $('[name = destination]')。click();

当您手动点击复选框时,它将起作用