如何在复选框更改时更新禁用的道具?
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
。查看更多:
我有一个复选框,用于切换是否将 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
。查看更多: