Risposte:
È possibile utilizzare la funzione Core / index in un determinato contesto, ad esempio è possibile verificare l'indice del TD nel relativo TR principale per ottenere il numero di colonna e si può controllare l'indice TR nella tabella per ottenere il numero di riga:
$('td').click(function(){
var col = $(this).parent().children().index($(this));
var row = $(this).parent().parent().children().index($(this).parent());
alert('Row: ' + row + ', Column: ' + col);
});
Controlla un esempio corrente qui .
ROWSPAN's
jsbin.com/eyeyu/1099/edit#preview Fai clic sulla cella con il testo "12" . L'indice di colonna deve essere 4
var row = $(this).closest('tr').index()
$('td').click(function() {
var myCol = $(this).index();
var $tr = $(this).closest('tr');
var myRow = $tr.index();
});
Ottieni COLUMN INDEX con un clic:
$(this).closest("td").index();
Ottieni ROW INDEX con un clic:
$(this).closest("tr").index();
Dalla parte superiore della mia testa, un modo sarebbe quello di prendere tutti gli elementi precedenti e contarli.
$('td').click(function(){
var colIndex = $(this).prevAll().length;
var rowIndex = $(this).parent('tr').prevAll().length;
});
Puoi generare quei dati nelle celle mentre stai creando la tabella?
quindi il tuo tavolo sarebbe simile a questo:
<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>
allora sarebbe una questione semplice
$("td").click(function(event) {
var row = $(this).attr("data-row");
var col = $(this).attr("data-col");
}
è meglio associare un gestore di clic all'intera tabella e quindi utilizzare event.target per ottenere il TD selezionato. Questo è tutto ciò che posso aggiungere a questo come le sue 1:20