获取父tr的数据索引

时间:2015-03-19 16:08:26

标签: jquery html

我的每一行都有一个带复选框的表格。不,我想获取已检查行的数据索引。如何获取父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 你能不能给我一个提示,哪里出错了?

1 个答案:

答案 0 :(得分:3)

您可以使用.closest() method遍历DOM,以选择具有[data-index]属性的元素。然后链.data('index')以获取属性的值。

Updated Example

$('#searchResultsDetails .bs-checkbox').change(function() {
    var parTr =  $(this).closest('[data-index]').data('index');
    console.log('ParTr ', parTr);
});

您可能不需要依赖这些属性。您可以选择最接近的tr元素,然后使用.index()方法确定tr元素的索引:

Updated Example

$(this).closest('tr').index();