javascript - 使用单选按钮突出显示表格列
问题描述
我有一张桌子,我想只用单选按钮来控制它的突出显示。但是当我将选择器更改为仅输入时:收音机不起作用。仅适用于我的示例中的选择器。
$("th").on("click", function () {
var $currentTable = $(this).closest("table");
var index = $(this).index();
$currentTable.find("td").removeClass("selected");
$currentTable.find("tr").each(function () {
$(this).find("td").eq(index).addClass("selected");
});
});
table tr td {
width: 5em;
}
.selected {
background-color: limegreen;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="options" border="1" cellpadding="0" cellspace="0">
<tr>
<th><input type="radio" name="test" value="1" /></th>
<th><input type="radio" name="test" value="2" /></th>
</tr>
<tr>
<td>col_1</td>
<td>col_2</td>
</tr>
<tr>
<td>col_1</td>
<td>col_2</td>
</tr>
<tr>
<td>col_1</td>
<td>col_2</td>
</tr>
<tr>
<td>col_1</td>
<td>col_2</td>
</tr>
</table>
解决方案
切换到单选按钮时,您必须收听change
事件以确定何时真正检查按钮。关键字也this
将依赖于按钮,而不是th
,因此您必须找到th
才能获得正确的索引。
请参见下面的示例:
$("input[name='test']").on("change", function () {
var $currentTable = $(this).closest("table");
var index = $(this).closest('th').index();
$currentTable.find("td").removeClass("selected");
$currentTable.find("tr").each(function () {
$(this).find("td").eq(index).addClass("selected");
});
});
table tr td {
width: 5em;
}
.selected {
background-color: limegreen;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="options" border="1" cellpadding="0" cellspace="0">
<tr>
<th><input type="radio" name="test" value="1" /></th>
<th><input type="radio" name="test" value="2" /></th>
</tr>
<tr>
<td>col_1</td>
<td>col_2</td>
</tr>
<tr>
<td>col_1</td>
<td>col_2</td>
</tr>
<tr>
<td>col_1</td>
<td>col_2</td>
</tr>
<tr>
<td>col_1</td>
<td>col_2</td>
</tr>
</table>
推荐阅读
- reactjs - 无法使用 react 和 redux 处理打字稿
- java - Java - 将 JLabel 解析为 java.util.Date
- python - 从数组中删除重复项和另一个数组中匹配位置的元素
- python - 在 LSTM 层之后连接其他特征以进行时间序列预测
- python - 如何获取数据框中某些列的位置 - Python
- php - DateTime::__construct():在位置 0 (/) 解析时间字符串 (//) 失败:意外字符
- stata - 用于创建几个空 csv 文件的循环
- python - 给定大小为 n 的矩阵,计算距中心的距离矩阵
- javascript - 如何将对象转换为 HTML 标记
- html - 带有列的列表对 Webkit/IE 中的错误项目产生悬停效果