jQuery - Obtendo o valor do texto de uma célula da tabela na mesma linha que um elemento clicado
Clico em um link em uma célula da tabela. Eu preciso obter o valor de uma célula específica dentro dessa mesma linha da tabela.
<tr>
<td class="one">this</td>
<td class="two">that</td>
<td class="three">here</td>
<td class="four"><a href="#">there</a></td>
</tr>
<tr>
<td class="one">qwqw</td>
<td class="two">dfgh</td>
<td class="three">ui</td>
<td class="four"><a href="#">there</a></td>
</tr>
Eu tenho um manipulador de cliques anexado ao link na quarta célula. Esse manipulador de cliques chama uma função que abre uma janela modal. Quando um formulário no modal é enviado, também quero passar o valor de td class = "two" da linha em que o link foi clicado para esse modal.
Aqui está a função que envia o modal (a área do problema está obtendo o valor correto para var Something):
var Send = function() {
var Name = $( '#name' ).val();
var Something = $(this).closest('td').siblings('.two').text(); // version 1. doesn't work
var Something = $(this).closest('tr').siblings('td.two').text(); // version 2 also doesn't work
var Something = $(this).attr('class'); // version 3. just a test but also doesn't work
$.ajax( {
async: false,
data: { name: Name, somedata: Something },
type: 'POST',
url: the url
});
};
O problema é que não consigo obter o valor correto para Algo. Deve ser o valor da classe td = dois na mesma linha do elemento clicado.
A maneira como tudo isso acontece é. Clique no link de destino, que chama um método chamado Send_Click (). Send_Click faz algumas validações e chama Send (), mas o valor de Something nunca é preenchido. Isso é porquethis
não é o que eu estou pensando que é? Hjelp!