Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript使用复选框选择表格的整行(更改背景色),并在单击下一个复选框时取消选择_Javascript_Html_Checkbox_Html Table_Row - Fatal编程技术网

Javascript使用复选框选择表格的整行(更改背景色),并在单击下一个复选框时取消选择

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; //这将确保清算

我有一个表,我想选择整行更改背景色。通过复选框选择行,当选择下一行时,必须取消选择上一行

这是我的桌子

身份证件 名称 姓 - - - - - - - - - 桌子{ 边界塌陷:塌陷; } 我用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{
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时清除缓存