Obter um valor de célula de mesa onde eu tenho uma caixa de seleção marcada – JavaScript, jQuery

Eu sou novo para jquery e eu tenho um problema. Eu quero ler um valor celular específico de uma linha da tabela onde eu tenho uma caixa de seleção. Eu tenho um evento que manipula a caixa de seleção marcada do evento. Este é o meu código:

$("#businesses input:checkbox").change(function (var $this = $(this);if ($this.is(":checked")) {//Here I want to read a value from a column in a row where is the checkbox} else {//Here I want to read a value from a column in a row where is the checkbox}});

Eu tenho uma tabela chamada “Empresas” e tem este formato.

<table><tr><th>Select Value</th><th>Value</th></tr><tr><td><input type="checkbox" class="selectedService" title="Seleccionar" /></td><td>125</td></tr><tr><td><input type="checkbox" class="selectedService" title="Seleccionar" /></td><td>126</td></tr></table>

O que eu quero fazer é que quando você selecionar uma caixa de seleção, obtenha o campo Value da sua linha.

Se eu pressionar a primeira caixa de seleção que eu quero obter 125.

Obrigado !!!

respostas

1 para a resposta № 1

Na sua caixa de seleção (this Na função do controlador de eventos), você deve ir para o conteúdo <td> item, através do seguinte <td> Item e, em seguida, obtenha seu texto:

$("#businesses input:checkbox").change(function(e) {if(this.checked) {var value = parseInt($(this).closest("td").next("td").text(), 10);// above will convert it from a string to an integer}else {// same as above? Seems redundant}});

0 para a resposta № 2

Use siblings() do pai:

$this.closest("td").siblings().text();

Se este não é o único <td> siblings() retornaria todo o resto, então use o seletor apropriado para filtrá-los.

0 para o Resposta № 3

0 para a resposta № 4

Teste isso …

$("#businesses input:checkbox").on ("change", function (e)if ($(this).is(":checked")) {$( e.target ).closest("td").text();} else {//Here I want to read a value from a column in a row where is the checkbox}});

Saudações.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *