Javascript 当页面上没有复选框时禁用复选框
我试图在没有行的情况下禁用复选框 我尝试了一些复选框:禁用。。。但没关系Javascript 当页面上没有复选框时禁用复选框,javascript,checkbox,Javascript,Checkbox,我试图在没有行的情况下禁用复选框 我尝试了一些复选框:禁用。。。但没关系 function addRow(tableID) { var table = document.getElementById(tableID); var rowCount = table.rows.length; var row = table.insertRow(rowCount); var cell1 = row.insertCell(0); var element1
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
element1.name = "chkbox[]";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
cell2.innerHTML = rowCount;
var cell3 = row.insertCell(2);
cell3.innerHTML = rowCount;
var cell4 = row.insertCell(3);
cell4.innerHTML = rowCount;
var cell5 = row.insertCell(4);
cell5.innerHTML = rowCount;
var cell6 = row.insertCell(5);
cell6.innerHTML = rowCount;
}
function deleteRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for (var i = 1; i < rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].children[0];
if (chkbox != null && chkbox.checked == true) {
table.deleteRow(i);
rowCount--;
i--;
}
}
var rootChkbox = table.rows[0].cells[0].children[0];
if (rowCount == 1) rootChkbox.checked = false;
}
function checkAll() {
var checkboxes = document.getElementsByTagName('input');
var val = null;
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].type == 'checkbox') {
if (val === null) val = checkboxes[i].checked;
checkboxes[i].checked = val;
}
}
}
函数addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var cell1=行插入单元格(0);
var element1=document.createElement(“输入”);
element1.type=“复选框”;
element1.name=“chkbox[]”;
单元格1.附加子元素(元素1);
var cell2=行插入单元格(1);
cell2.innerHTML=行数;
var cell3=行插入单元格(2);
cell3.innerHTML=行数;
var cell4=行插入单元格(3);
cell4.innerHTML=行数;
var cell5=行插入单元格(4);
cell5.innerHTML=行数;
var cell6=行插入单元格(5);
cell6.innerHTML=行数;
}
函数deleteRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
对于(变量i=1;i
希望你们能帮助我
在删除功能中更改此选项:
if (rowCount == 1) rootChkbox.checked = false;
致:
并将其添加到“添加”功能中:
if (rowCount == 1)
{
rootChkbox.disabled = false;
}
完整代码:
函数addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var cell1=行插入单元格(0);
var element1=document.createElement(“输入”);
element1.type=“复选框”;
element1.name=“chkbox[]”;
单元格1.附加子元素(元素1);
var cell2=行插入单元格(1);
cell2.innerHTML=行数;
var cell3=行插入单元格(2);
cell3.innerHTML=行数;
var cell4=行插入单元格(3);
cell4.innerHTML=行数;
var cell5=行插入单元格(4);
cell5.innerHTML=行数;
var cell6=行插入单元格(5);
cell6.innerHTML=行数;
var rootChkbox=表。行[0]。单元格[0]。子项[0];
如果(行计数==1)
{
rootChkbox.disabled=false;
}
}
函数deleteRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
对于(变量i=1;i
正文{
字体:14px/18px Arial;
填充:30px 20px;
背景:灰色;
}
表#数据表{
边缘顶部:10px;
颜色:白色;
}
制作
模型
描述
起始年
年底
类似的方法应该可以:
var checkboxes = document.querySelectorAll("input[type=checkbox]");
if(checkboxes.length == 1) { checkboxes[0].setAttribute('disabled','disabled');}
您可以通过查找父元素来进一步分段选择:
<div id="group1"><input type="checkbox" /></div>
<div id="group2"><input type="checkbox" /></div>
希望能有所帮助。请在此处发布您的代码。请阅读,并在问题本身中包含a,而不是在第三方网站上。@HenkErtje我看不出您试图在哪里禁用复选框?…当表中没有行时。必须禁用该复选框。1)默认情况下禁用它。2) 在添加行时启用它。3) 如果只删除一行,请在删除行后禁用。没问题!很高兴我能帮忙!如果这解决了你的问题,请接受答案并投票表决。
<div id="group1"><input type="checkbox" /></div>
<div id="group2"><input type="checkbox" /></div>
var checkboxes = document.querySelectorAll("#group1 input[type=checkbox]");