Javascript使用复选框选择表格的整行(更改背景色),并在单击下一个复选框时取消选择
我有一个表,我想选择整行更改背景色。通过复选框选择行,当选择下一行时,必须取消选择上一行 这是我的桌子 身份证件 名称 姓 - - - - - - - - - 桌子{ 边界塌陷:塌陷; } 我用class=row为每个表单元命名。通过计算特定行所在的间隔并使用for循环,我应该能够为这些表格单元格设置背景色。间隔为:第一行为0-3,第二行为4-7,第三行为8-11 我试过这个: var clear1=0; var-clear2=0; //这两个应该清除前一行 var计数器=0; //这将确保清算不会在第一次发生 //函数参数由表中的此复选框给定 // 函数MarkRowNumber{ var row=document.getElementsByClassName'row'; var checkbox=document.getElementsByClassName'check'; var间隔=行数*4; forvar i=区间;i1{Javascript使用复选框选择表格的整行(更改背景色),并在单击下一个复选框时取消选择,javascript,html,checkbox,html-table,row,Javascript,Html,Checkbox,Html Table,Row,我有一个表,我想选择整行更改背景色。通过复选框选择行,当选择下一行时,必须取消选择上一行 这是我的桌子 身份证件 名称 姓 - - - - - - - - - 桌子{ 边界塌陷:塌陷; } 我用class=row为每个表单元命名。通过计算特定行所在的间隔并使用for循环,我应该能够为这些表格单元格设置背景色。间隔为:第一行为0-3,第二行为4-7,第三行为8-11 我试过这个: var clear1=0; var-clear2=0; //这两个应该清除前一行 var计数器=0; //这将确保清算
forvar i=clear1;i您始终可以清除所有复选框和背景色,然后应用正确的背景色,并使用行索引和复选框索引选中复选框 此外,您还需要将类分配给行,以便使用getElementsByClassName而不是单元格获取它们 避免使用全局变量,因为您不需要它们 防小提琴: 函数MarkRowNumber{ const row=document.getElementsByClassName'rowclass'; const checkbox=document.getElementsByClassName'check'; //清除一切 对于let i=0;i
checkboxes[clear1 / 4].checked = false;
其中clear1/4在之前选择行时将分别为0、1、2。是的,我弄错了行和检查类。将类分配给行是更容易的解决方案,我已经尝试过了,但由于某些原因,此行不会给行[rowNumber]上色.style=background color:dodgerblue;;即使这不起作用,你怎么说它不起作用?我发布的示例很有效。这是你正在谈论的一些新代码吗?是的,示例很有效。当我在项目中复制它时,我忘了提到它不起作用。也许我的代码中有某种东西使它不起作用,但我认为赋予它内联css属性应该总是有效的。不管怎样,我在我的原始代码中发现并修复了一个错误,它按照预期工作。它现在可以工作了,我必须在使用PHP时清除缓存