我的每一行都有一个带复选框的表格。不,我想获取已检查行的数据索引。如何获取父tr元素的数据索引?
HTML
<table id="searchResultsDetails">
<tbody>
<tr data-index="0" class="selected">
<td class="bs-checkbox">
<input data-index="0" name="btSelectItem" type="checkbox">
</td><td >19/02/2015</td><td >Jendro</td><td >
</tr>
<tr data-index="1">
<td class="bs-checkbox">
<input data-index="1" name="btSelectItem" type="checkbox">
</td><td >13/02/2015</td><td >Ganten</td><td >
</tr>
</tbody>
</table>
的jQuery
$('#searchResultsDetails .bs-checkbox').change(function() {
var parTr = $(this).find('.bs-checkbox').index(this.parentNode);
console.log('ParTr ', parTr);
});
输出为ParTr -1 你能不能给我一个提示,哪里出错了?
答案 0 :(得分:3)
您可以使用.closest()
method遍历DOM,以选择具有[data-index]
属性的元素。然后链.data('index')
以获取属性的值。
$('#searchResultsDetails .bs-checkbox').change(function() {
var parTr = $(this).closest('[data-index]').data('index');
console.log('ParTr ', parTr);
});
您可能不需要依赖这些属性。您可以选择最接近的tr
元素,然后使用.index()
方法确定tr
元素的索引:
$(this).closest('tr').index();