如果使用 jQuery 检查复选框,如何禁用文本框?

sun*_*sun 4 html css jquery

如果用户取消选中复选框并更改文本框的背景颜色,我想禁用文本框。如果用户选中该复选框,则该文本框应该是可编辑的并变为白色。这是代码

$(document).ready(function () {
    $(".ba").click(function () {
        $(".tex").css("background-color", "#CCCCCC");
    });
});
Run Code Online (Sandbox Code Playgroud)

其中.ba是复选框,.tex是文本框类,现在当用户单击它时,它会变为灰色,但如果他们再次单击,则颜色不会改变。否则,如果用户取消选中复选框,文本框背景颜色应该更改并且它应该变为不可编辑的禁用状态。有人可以帮忙吗?

我正在使用下面的 javascript 来检查所有并取消选中所有

function checkAll(formname, checktoggle) {
    var checkboxes = new Array(); 
    checkboxes = document[formname].getElementsByTagName('input');

    for (var i=0; i<checkboxes.length; i++)  {
        if (checkboxes[i].type == 'checkbox')   {
            checkboxes[i].checked = checktoggle;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这会导致任何问题吗?

小智 5

工作 jsFiddle 演示

考虑以下标记:

<input type="checkbox" class="ba" checked="checked" />
<input type="text" class="tex" />
Run Code Online (Sandbox Code Playgroud)

还有你的 JS:

$(function () {
    $('.ba').on('change', function () {
        var checked = $(this).prop('checked');
        $('.tex').prop('disabled', !checked);
    });
});
Run Code Online (Sandbox Code Playgroud)