jQuery:获取所选单选按钮的父tr

标签 jquery jquery-selectors parent tablerow

我有以下 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/

相关文章:

javascript - 单行 HTML CSS 上的长响应标题

javascript - 隐藏只有 1 个选项的下拉菜单?

jquery - 如何检查元素是否不是第一个 child ?

javascript - 使用 jquery 定位元素父级

javascript - 如何等待子组件任务完成后再继续

javascript - 如果父 div 由 jquery 动画,是否可以防止某些子元素动画?

javascript - 在外部单击时关闭选择框

jQuery:让例子平滑向下滑动

javascript - 所有未选择的选项标签

javascript - 从 iframe 中打开 iframe fancybox,以便它在父级中打开