使用 html 中的复选框切换表格上的颜色
Toggling colour on a table using check boxes in html
所以我有这样的表格
<table class="rest_tab" border="1">
<tbody><tr><th>Times</th><th></th><th></th></tr>
<tr><td <="" td=""></td><td align="right"><input type="checkbox" class="selectAll" id="Checkbox4" on=""></td><td align="right"><input type="checkbox" class="selectAll" id="Checkbox5" on=""></td></tr>
<tr><td <="" td=""></td><td align="right"><input type="checkbox" class="selectAll" id="Checkbox7" on=""></td><td align="right"><input type="checkbox" class="selectAll" id="Checkbox8" on=""></td></tr>
<tr><td <="" td=""></td><td align="right"><input type="checkbox" class="selectAll" id="Checkbox10" on=""></td><td align="right"><input type="checkbox" class="selectAll" id="Checkbox11" on=""></td></tr>
</tbody></table>
演示:
$(document).ready(function() {
$('.pretty tr').toggle(function() {
$(this).find(':checkbox').attr('checked', true);
$(this).toggleClass('red');
}, function() {
$(this).toggleClass('red');
$(this).find(':checkbox').attr('checked', false);
});
});
table {
font-family: 'Arial';
margin: 25px auto;
border-collapse: collapse;
border: 1px solid #eee;
border-bottom: 2px solid #00cccc;
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1), 0px 10px 20px rgba(0, 0, 0, 0.05), 0px 20px 20px rgba(0, 0, 0, 0.05), 0px 30px 20px rgba(0, 0, 0, 0.05);
}
table td:hover {
background: #C1FFC1;
}
table td:click {
background: #fcc;
}
table td:hover {
color: #000;
}
table th,
table td {
color: #999;
border: 1px solid #eee;
padding: 12px 35px;
border-collapse: collapse;
}
table th {
background: #00cccc;
color: #fff;
text-transform: uppercase;
font-size: 12px;
}
table th.last {
border-right: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="rest_tab" border="1">
<tbody>
<tr>
<th>Times</th>
<th></th>
<th></th>
</tr>
<tr>
<td <="" td=""></td>
<td align="right"><input type="checkbox" class="selectAll" id="Checkbox4" on=""></td>
<td align="right"><input type="checkbox" class="selectAll" id="Checkbox5" on=""></td>
</tr>
<tr>
<td <="" td=""></td>
<td align="right"><input type="checkbox" class="selectAll" id="Checkbox7" on=""></td>
<td align="right"><input type="checkbox" class="selectAll" id="Checkbox8" on=""></td>
</tr>
<tr>
<td <="" td=""></td>
<td align="right"><input type="checkbox" class="selectAll" id="Checkbox10" on=""></td>
<td align="right"><input type="checkbox" class="selectAll" id="Checkbox11" on=""></td>
</tr>
</tbody>
</table>
我希望能够,而不是只是在悬停时更改颜色,同时选中表中每个框的复选框时保留颜色。
我已经尝试了一段时间,无法让 js 做我想做的事,任何帮助将不胜感激。
有一个这样的 css 规则,它将帮助您切换复选框选择
.selected{
background-color: #C1FFC1;
}
在你的js中,你可以做这样的事情
$('.selectAll').change(function(){
$(this).closest('td').toggleClass('selected');
});
更新了您的 jsfiddle 演示
$(document).ready(function () {
$('.selectAll').change(function(){
$(this).closest('td').toggleClass('selected');
});
});
table {
font-family:'Arial';
margin: 25px auto;
border-collapse: collapse;
border: 1px solid #eee;
border-bottom: 2px solid #00cccc;
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1), 0px 10px 20px rgba(0, 0, 0, 0.05), 0px 20px 20px rgba(0, 0, 0, 0.05), 0px 30px 20px rgba(0, 0, 0, 0.05);
}
table td:hover {
background: #C1FFC1;
}
table td:click {
background: #fcc;
}
table td:hover {
color: #000;
}
table th, table td {
color: #999;
border: 1px solid #eee;
padding: 12px 35px;
border-collapse: collapse;
}
table th {
background: #00cccc;
color: #fff;
text-transform: uppercase;
font-size: 12px;
}
table th.last {
border-right: none;
}
.selected{
background-color: #C1FFC1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="rest_tab" border="1">
<tbody>
<tr>
<th>Times</th>
<th></th>
<th></th>
</tr>
<tr>
<td <="" td=""></td>
<td align="right">
<input type="checkbox" class="selectAll" id="Checkbox4" on="">
</td>
<td align="right">
<input type="checkbox" class="selectAll" id="Checkbox5" on="">
</td>
</tr>
<tr>
<td <="" td=""></td>
<td align="right">
<input type="checkbox" class="selectAll" id="Checkbox7" on="">
</td>
<td align="right">
<input type="checkbox" class="selectAll" id="Checkbox8" on="">
</td>
</tr>
<tr>
<td <="" td=""></td>
<td align="right">
<input type="checkbox" class="selectAll" id="Checkbox10" on="">
</td>
<td align="right">
<input type="checkbox" class="selectAll" id="Checkbox11" on="">
</td>
</tr>
</tbody>
</table>
希望这有帮助
相关文章:
- 使用javascript下拉菜单更改表格单元格的颜色
- 数据表 ..如何根据表格的单元格值更改单元格的颜色
- HTML表格在打印后缺少边框颜色和背景颜色
- 使用 html 中的复选框切换表格上的颜色
- 使用 javascript 为 HTML 表格单元格指定颜色
- Mvc表格如何更改文本的颜色条件
- 通过指定类更改表格td边框颜色
- 使用jsp更改表格单元格的颜色
- 如何更改编辑单元格上方单元格的背景颜色(Javascript、Google电子表格)
- 更改表格字体颜色Javascript
- 如何在 javascript 中更改表格单元格的颜色
- 在表格中应用动态行颜色 Javascript/VBscript
- 单击时更改表格行的背景颜色
- HTML/CSS/JavaScript:如何根据数据更改表格行的颜色
- 根据单元格内容更改表格行的文本颜色,仅使用 css
- 引导手风琴在表格内切换,并在单击时更改所选行的背景颜色
- jQuery - 单击时,单击时始终更改表格单元格的背景颜色
- 突出显示表格行,根据其列使用不同的颜色
- 如果表格是动态生成的,如何在单击时更改 html 单元格的颜色
- 鼠标单击时表格颜色发生变化