如果以编程方式更改元素,如何在jquery中触发事件?

时间:2017-05-17 13:09:46

标签: javascript jquery checkbox

我有几个具有相同类的复选框。当我选中该框时,还检查了具有相同类别的其他复选框。我也有复选框的事件处理程序change。选中复选框和其他复选框后,一切正常。但事件处理程序调用一次。如果此复选框已更改,我需要为每个复选框调用此事件。怎么做?

我的事件处理程序: $('input[type="checkbox"]').on 'change', checkboxClick

此选中或未选中复选框$(className).not(this).prop('checked', this.checked) - 这也更改了具有相同ClassName的复选框,但是除了this之外的其他复选框没有调用事件处理程序。

2 个答案:

答案 0 :(得分:1)

您可以使用Function.prototype.call()在事件处理程序中调用命名函数checkboxClick,而不是调度change事件

$(className).not(this).prop("checked", this.checked).each(function() {
  checkboxClick.call(this)
});

答案 1 :(得分:0)

使用.each函数来应用该类的所有实例。

$(className).each(function(){
    $(this).prop('checked', true)
});