使用复选框的 table 行中的 Show/Hide 行
Show/Hide row in a table using checkboxes
这是我正在处理的页面,用于显示 Infinity(微型战争游戏)的所有黑客程序。
http://wargames.malgol.se/infinity/hacking/
我正在寻找的功能是单击 HACKING DEVICE: 和 UPGRADE 下的各种复选框:我希望显示连接到它们的 table 行及其连接图标。例如,如果我选中 "Hacking Device Plus",所有连接到它的行和程序都会显示出来,它们都会在“设备”列中显示浅绿色 "square",如果 select 更多复选框并且不止一个黑客设备在同一行都将显示 "squares"。
如果复选框的 none 被 select 选中,将显示所有行。
我还想要的是每行奇数和偶数都有不同的颜色。现在我正在使用它来更改颜色,但我无法使用我在此处找到的更改活动行颜色的解决方案(见下文)。
table#hackingTable tr:nth-child(odd) td {background:#303030;color:#F7F7F7;}
table#hackingTable tr:nth-child(even) td {background:#404040;color:#F7F7F7;}
为了改变活动行的颜色,我尝试了我在这里找到的解决方案。
Tip://whosebug.com/questions/19970983/change-background-color-of-a-table-row-on-click
我曾考虑过使用相同的解决方案来隐藏未选中的行,但在测试后只隐藏了我用于 odd/even 颜色的 css 不起作用,因为它可以转动当我隐藏中间的行时,彼此相邻的相同颜色。
现在我正在使用 class 来显示哪一行连接到哪个黑客设备和更新。
<tr class="hdRow hdpRow">
这是我用于所有方块的代码。
<td>
<div class="cube hdCube"></div>
<div class="cube hdpCube"></div>
</td>
我希望我现在比上次在这里问问题更清楚我想要什么。 =)
这是一个开始
请注意,输入需要在标签和标记中的 table 之前才能使用其 checked
状态
table {
border-collapse: collapse;
}
tbody tr {
background: #eee;
border-bottom: 1px solid #fff;
}
tr, td {
padding: 10px;
}
input,
tbody tr {
display: none;
}
label {
display: inline-block;
padding: 6px;
}
label:after {
content: '[=10=]a0';
text-align: center;
display: inline-block;
border: 1px solid;
width: 20px;
margin-left: 5px;
}
#inp1:checked ~ table label[for="inp1"]:after,
#inp2:checked ~ table label[for="inp2"]:after,
#inp3:checked ~ table label[for="inp3"]:after {
content: 'v';
}
#inp1:checked ~ table .nr1,
#inp2:checked ~ table .nr2,
#inp3:checked ~ table .nr3 {
display: table-row;
}
<input id="inp1" type="checkbox">
<input id="inp2" type="checkbox" checked="checked">
<input id="inp3" type="checkbox">
<table>
<thead>
<tr colspan="3">
<td>
<label for="inp1">Toggle 1</label>
<label for="inp2">Toggle 2</label>
<label for="inp3">Toggle 3</label>
</td>
</tr>
</thead>
<tbody>
<tr class="nr1">
<td><div>Row 1</div></td>
<td><div>...</div></td>
<td><div>...</div></td>
</tr>
<tr class="nr2">
<td><div>Row 2</div></td>
<td><div>...</div></td>
<td><div>...</div></td>
</tr>
<tr class="nr3">
<td><div>Row 3</div></td>
<td><div>...</div></td>
<td><div>...</div></td>
</tr>
</tbody>
</table>
这是我正在处理的页面,用于显示 Infinity(微型战争游戏)的所有黑客程序。
http://wargames.malgol.se/infinity/hacking/
我正在寻找的功能是单击 HACKING DEVICE: 和 UPGRADE 下的各种复选框:我希望显示连接到它们的 table 行及其连接图标。例如,如果我选中 "Hacking Device Plus",所有连接到它的行和程序都会显示出来,它们都会在“设备”列中显示浅绿色 "square",如果 select 更多复选框并且不止一个黑客设备在同一行都将显示 "squares"。
如果复选框的 none 被 select 选中,将显示所有行。
我还想要的是每行奇数和偶数都有不同的颜色。现在我正在使用它来更改颜色,但我无法使用我在此处找到的更改活动行颜色的解决方案(见下文)。
table#hackingTable tr:nth-child(odd) td {background:#303030;color:#F7F7F7;}
table#hackingTable tr:nth-child(even) td {background:#404040;color:#F7F7F7;}
为了改变活动行的颜色,我尝试了我在这里找到的解决方案。 Tip://whosebug.com/questions/19970983/change-background-color-of-a-table-row-on-click
我曾考虑过使用相同的解决方案来隐藏未选中的行,但在测试后只隐藏了我用于 odd/even 颜色的 css 不起作用,因为它可以转动当我隐藏中间的行时,彼此相邻的相同颜色。
现在我正在使用 class 来显示哪一行连接到哪个黑客设备和更新。
<tr class="hdRow hdpRow">
这是我用于所有方块的代码。
<td>
<div class="cube hdCube"></div>
<div class="cube hdpCube"></div>
</td>
我希望我现在比上次在这里问问题更清楚我想要什么。 =)
这是一个开始
请注意,输入需要在标签和标记中的 table 之前才能使用其 checked
状态
table {
border-collapse: collapse;
}
tbody tr {
background: #eee;
border-bottom: 1px solid #fff;
}
tr, td {
padding: 10px;
}
input,
tbody tr {
display: none;
}
label {
display: inline-block;
padding: 6px;
}
label:after {
content: '[=10=]a0';
text-align: center;
display: inline-block;
border: 1px solid;
width: 20px;
margin-left: 5px;
}
#inp1:checked ~ table label[for="inp1"]:after,
#inp2:checked ~ table label[for="inp2"]:after,
#inp3:checked ~ table label[for="inp3"]:after {
content: 'v';
}
#inp1:checked ~ table .nr1,
#inp2:checked ~ table .nr2,
#inp3:checked ~ table .nr3 {
display: table-row;
}
<input id="inp1" type="checkbox">
<input id="inp2" type="checkbox" checked="checked">
<input id="inp3" type="checkbox">
<table>
<thead>
<tr colspan="3">
<td>
<label for="inp1">Toggle 1</label>
<label for="inp2">Toggle 2</label>
<label for="inp3">Toggle 3</label>
</td>
</tr>
</thead>
<tbody>
<tr class="nr1">
<td><div>Row 1</div></td>
<td><div>...</div></td>
<td><div>...</div></td>
</tr>
<tr class="nr2">
<td><div>Row 2</div></td>
<td><div>...</div></td>
<td><div>...</div></td>
</tr>
<tr class="nr3">
<td><div>Row 3</div></td>
<td><div>...</div></td>
<td><div>...</div></td>
</tr>
</tbody>
</table>