Как получить строки и номер столбца щелкнули ячейки таблицы с помощью JQuery, то есть,Таблица строк и число столбцов в JQuery
$("td").onClick(function(event){
var row = ...
var col = ...
});
Как получить строки и номер столбца щелкнули ячейки таблицы с помощью JQuery, то есть,Таблица строк и число столбцов в 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);
});
проверить бегущий пример here.
Можно ли выход, что данные в ячейках, как вы создаете таблицу ?
так ваша таблица будет выглядеть следующим образом:
<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");
}
.onClick должен быть .click – mkoryak
Какие спецификации HTML сделать эти атрибуты соответствуют ? Кажется, я не могу найти их. –
HTML spec 5, который позволяет настраивать атрибуты, начиная с префикса 'data-'. –
лучше, чтобы связать обработчик щелчка на всю таблицу, а затем использовать event.target чтобы получить нажатый TD. Thats все, что я могу добавить к этому как его 1:20 am
Хотя это может быть ценным советом для решения проблемы, хороший ответ также демонстрирует решение. Пожалуйста, [править], чтобы предоставить пример кода, чтобы показать, что вы имеете в виду. В качестве альтернативы подумайте о том, чтобы вместо этого писать это как комментарий. –
В верхней части моей головы можно было бы захватить все предыдущие элементы и посчитать их.
$('td').click(function(){
var colIndex = $(this).prevAll().length;
var rowIndex = $(this).parent('tr').prevAll().length;
});
$('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();
Это не работает, если в таблице есть пробелы столбца. – grom
Почему это не работает в столбцах @grom? – EarlyPoster
@Forkrul Assail, @CMS Сбой с 'ROWSPAN' http://jsbin.com/eyeyu/1099/edit#preview Нажмите на ячейку с текстом _" 12 "_. Индекс столбцов должен быть ** 4 ** –