2015-03-19 3 views
2

У меня есть таблица с флажками в каждой строке. Нет. Я хочу получить индекс данных проверенной строки. Как получить индекс данных родительского tr-Element?Получить индекс данных родительского 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 Не могли бы вы Pls дать мне подсказку, что идет не так?

ответ

3

Вы можете пересечь DOM с помощью .closest() method, чтобы выбрать элемент с атрибутом [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(); 
Смежные вопросы