Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
alguem sabe como faço para pegar a posição atual da linha em uma tabela.
ex: ao clicar no icone da 2° linha mostra a posição dessa linha que no caso é 2, se clicar no icone da 3° linhas mostra 3
grato a todos que ajudar
Essa é a estrutura da minha tabela
<table width="100%" border="0" id="tbCupom">
<tr>
<td><a href="#" class="lknRemoveCupom" title="Remover linha"><img src="imagens/remover.png" width="16" /></a></td>
<td><label class="labelCupom">Loja:</label></td>
<td>
<select name="nCupomLoja[]" class="nCupomLoja">
<option value="0">Selecione</option>
</select>
</td>
<td><label class="labelCupom">Cupom:</label></td>
<td><input type="text" name="nNumeroCupom[]" class="nNumeroCupom" /></td>
<td><label class="labelCupom">Data:</label></td>
<td><input type="text" name="nCupomData[]" class="nCupomData" /></td>
<td><label class="labelCupom">R$:</label></td>
<td><input type="text" name="nCupomValor[]" class="nCupomValor" /></td>
</tr>
</table>Como você não especificou frameworks, segue uma solução usando javascript puro:
// código a ser executado assim que a página for carregada
window.onload = function () {
// criando um vetor com todas as linhas
var vetorTr = [];
var nodesTr = document.getElementById('tbCupom').getElementsByTagName('tr');
for (var i = 0; i < nodesTr.length; i++) vetorTr.push(nodesTr[i]);
// buscando todo os objetos com a classe lknRemoveCupom
var links = document.getElementsByClassName('lknRemoveCupom');
for (var i = 0; i < links.length; i++) {
// para cada objeto desse, vamos adicionar um evento ao ser clicado
links[i].onclick = function () {
// buscando o parentNode do objeto (que é uma TD)
var td = this.parentNode;
// buscando o parentNode da TD (que á a TR)
var tr = td.parentNode;
// verificando qual é a posição dessa TR no vetor com todas as linhas
var pos = vetorTr.indexOf(tr);
// imprimindo o posição (lembre-se que começa no 0)
console.log(pos);
};
}
};Opa vou testar aqui e ja digo se funfou
Não é dificil, mas depende muito da estrutura que você fez.
Pode postar o código de uma dessas linhas?