我有以下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,那么只是从标记中删除它。