如何在复选框更改时更新禁用的道具?

How to update disabled prop on checkbox change?

我有一个复选框,用于切换是否将 li 标签添加到列表中。当它被添加到列表中时,其他 li 标签及其关联的复选框(嵌套在 li 标签下)使用 jQuery.

被“禁用”

复选框将被禁用,但当我当前取消选中该复选框时它不会取消禁用。

我试过 prop, attr, removeProp/Attr 都没有成功激活复选框。

$('#id_of_ul_that_holds_li's').on('change', li.active input, function() {

    if ($(this).prop('checked')) {
      $(this).parent().addClasss('checked')
      $(this).children('input').prop('disabled', true)
    }
    else if (!($(this).prop('checked')) {
      $(this).parent().removeClasss('checked')
      $(this).children('input').prop('disabled', false)
    }

  });

建议:

$("#id_of_div").on('change', "li.active > input[type='checkbox']", function(e) {
  if ($(this).is(":checked")) {
    $(this).parent().addClasss('checked')
    $(this).prop('disabled', true)
  } else {
    $(this).parent().removeClasss('checked')
    $(this).prop('disabled', false)
  }
});

这将检查复选框元素 this 是否为 checked。查看更多: