我有以下html
<table id="MwDataList" class="data" width="100%" cellspacing="10px"> .... <td class="centerText" style="height: 56px; "> <input id="selectRadioButton" type="radio" name="selectRadioGroup"></td>
换句话说,我有几行的表,在最后一个单元格的每一行我有radiobutton。
如何获取所选单选按钮的父行?
我试过:
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在页面上应该是唯一的,所以尽量避免使用相同的ids为单选按钮,我可以看到在您的标记。如果你不打算使用ids,那么只是从标记中删除它。