javascript - 使用复选框禁用表

标签 javascript html-table

我有这个复选框,如何在选中该复选框时禁用表格(禁用表格中的所有输入字段)?

<label><input type="checkbox" name="view" value="d">N/A</label> 

是否可以使用纯 JavaScript 而不是 jQuery。

这是现在的代码

var elems = document.getElementById('table-id').querySelectorAll('input,select,textarea');
document.getElementById('check').onchange = function () {
    if (document.getElementById('check').checked) {
        for (var i = 0; i < elems.length; i++) {
            elems[i].disabled = true;
        }
    } else {
        for (var i = 0; i < elems.length; i++) {
            elems[i].disabled = false;
        }    
        }
    }

和表格

<table id='table-id' border="1">

但它显示这样的错误:

Uncaught TypeError: Cannot read property 'querySelectorAll' of null

最佳答案

使用 jQuery,很简单:

$("#tableId").find(":input").prop("disabled", true);

使用Javascript,有点长:

var elems = document.getElementById('tableId').querySelectorAll('input,select,textarea');

for (var i = 0; i < elems.length; i++) {
    elems[i].disabled = true;
}

fiddle :http://jsfiddle.net/abhitalks/6s7QL/2/

更新:

添加了您的复选框代码:

document.getElementById('checkboxId').onchange = function () {...

关于javascript - 使用复选框禁用表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23625824/

相关文章:

javascript - vue 显示 js 's error :TypeError: "这是未定义的”

javascript - 注入(inject)依赖angularMoment返回错误

jquery - 为什么 jquery 中的样式化 TD 会使标记变得疯狂?

php - 通过 PHP + HTML 从 MySQL 数据库中选择数据创建表

javascript - Node + Express 开发流程

javascript - 如何正确获取元素的id?

html - 水平和垂直居中表格单元格的内容?

php - 使用 PHP 格式化表格

javascript - 在 JavaScript 中将数组元素打印到各自的列中

javascript - 在 textarea 中使用类似 span 的样式