除非单击它,否则复选框更改功能不起作用

时间:2013-03-09 15:29:30

标签: javascript jquery

我已经为hdcheck复选框编写了一个函数。

$('#hdcheck').change(function () {
  if($(this).is(':checked')) {
    alert("It is Checked");
  }
  else {
    alert("It is Unchecked");
  }
});

当我选中或取消选中复选框时,它可以找到,但我已经创建了一个有问题的功能,可以选中或取消选中此复选框。 以下是复选框chk_1的功能:

$('#chk_1').change(function () {
  if($(this).is(':checked')) {
    $('#hdcheck').prop("checked", true);
  }
  else {
    $('#hdcheck').prop("checked", false);
  }
});

此功能可以在选中或取消选中第一个复选框(hdcheck)时正常工作,但不会弹出警告消息。表示函数$('#hdcheck').change(function() 不起作用。

1 个答案:

答案 0 :(得分:2)

当您以编程方式更改属性时,应触发更改事件,这是代码的缩小版本+更改触发器。

$('#chk_1').change(function() {
    $('#hdcheck').prop("checked", this.checked).change();
});

这不是 bug ,这是预期的行为。