Как получить номер строки и столбца ячейки таблицы, по которой щелкнули мышью, с помощью jQuery, т. Е.
$("td").onClick(function(event){
var row = ...
var col = ...
});
Вы можете использовать функцию Core / index в данном контексте, например, вы можете проверить индекс TD в его родительском TR, чтобы получить номер столбца, и вы можете проверить индекс TR в таблице, чтобы получить номер строки:
$('td').click(function(){
var col = $(this).parent().children().index($(this));
var row = $(this).parent().parent().children().index($(this).parent());
alert('Row: ' + row + ', Column: ' + col);
});
Проверьте работающий пример здесь .
ROWSPAN's
jsbin.com/eyeyu/1099/edit#preview Щелкните ячейку с текстом «12» . Индекс столбца должен быть 4var row = $(this).closest('tr').index()
$('td').click(function() { var myCol = $(this).index(); var $tr = $(this).closest('tr'); var myRow = $tr.index(); });
источник
Получите COLUMN INDEX при нажатии:
$(this).closest("td").index();
Получите ROW INDEX при нажатии:
$(this).closest("tr").index();
источник
Один из возможных способов - взять все предыдущие элементы и пересчитать их.
$('td').click(function(){ var colIndex = $(this).prevAll().length; var rowIndex = $(this).parent('tr').prevAll().length; });
источник
Можете ли вы вывести эти данные в ячейки при создании таблицы?
так что ваша таблица будет выглядеть так:
<table> <thead>...</thead> <tbody> <tr><td data-row='1' data-column='1'>value</td> <td data-row='1' data-column='2'>value</td> <td data-row='1' data-column='3'>value</td></tr> <tbody> </table>
тогда это было бы просто
$("td").click(function(event) { var row = $(this).attr("data-row"); var col = $(this).attr("data-col"); }
источник
лучше привязать обработчик кликов ко всей таблице, а затем использовать event.target, чтобы получить нажатый TD. Это все, что я могу добавить к этому 1:20 утра.
источник