使用 jQuery 取消选中复选框时,禁用的属性不会被删除

Disabled attribute not being removed when checkbox is unchecked with jQuery

#alt_hp 字段被选中时,下面的脚本会将 disabled 属性添加到其他输入字段,但是当我取消选中该字段时,禁用的属性不会被删除。我不是很精通 javascript 并试图了解该站点上的其他解决方案。

<script>
$("#alt_hp").change(function() {
    if ($("input[type=checkbox]").is( ":checked" )) {
        $("#new_displacement").val('')
        $("input#induction, input#heads, input#camshaft, input#turbo, input#boost, input#inc_displacement").prop("checked", false).prop("disabled", true)
    } else {
        $("input#induction, input#heads, input#camshaft, input#turbo, input#boost, input#inc_displacement").prop("disabled", false)
    }
});
</script> 

只需更改以下行

if ($("input[type=checkbox]").is( ":checked" )) {

至此

if ($(this).is(":checked")) {

您现有的代码将始终引用整个 html 中的 any/all 复选框。 this指当前checkbox/element.