我有以下 HTML:
<table id="MwDataList" class="data" width="100%" cellspacing="10px">
....
<td class="centerText" style="height: 56px;">
<input id="selectRadioButton" type="radio" name="selectRadioGroup">
</td>
....
</table>
换句话说,我有一个只有几行的表格,在最后一个单元格的每一行中都有一个单选按钮。
如何获取所选单选按钮的父行?
我尝试过的:
function getSelectedRowGuid() {
var row = $("#MwDataList > input:radio[@name=selectRadioGroup]:checked :parent tr");
var guid = GetRowGuid(row);
return guid;
}
但是这个选择器似乎不正确。
最佳答案
试试这个。
您不需要在 jQuery 选择器中为属性名称添加前缀 @
。使用 closest()
方法获取与选择器匹配的最接近的父元素。
$("#MwDataList input[name=selectRadioGroup]:checked").closest('tr');
你可以像这样简化你的方法
function getSelectedRowGuid() {
return GetRowGuid(
$("#MwDataList > input:radio[@name=selectRadioGroup]:checked :parent tr"));
}
closest()
- 获取与选择器匹配的第一个元素,从当前元素开始并在 DOM 树中向上移动。
作为旁注,元素的 id 在页面上应该是唯一的,因此请尽量避免单选按钮具有相同的 id,我可以在您的标记中看到这一点。如果您不打算使用 ids,那么只需将其从标记中删除即可。
关于jQuery:获取所选单选按钮的父tr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9314902/