【发布时间】:2021-07-17 01:21:28
【问题描述】:
我有一个复选框,用于切换是否将 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)
}
});
【问题讨论】:
-
if( $(this).is(':checked') )。但请确保您指的是复选框而不是 div -
或
this.checked... -
运行良好。 if 条件运行中的其他所有内容。只有禁用的更新不起作用。
-
Not in
$(this).prop('checked')... 和div元素没有本机checked属性,因此除非您有人为设置该元素的非本机checked属性的代码,我不认为你的if工作得像你想象的那么好..
标签: javascript jquery checkbox attr prop