Obteña un valor de cela da táboa onde teño unha caixa de verificación verificada – Javascript, jQuery

Novo para jQuery e teño un problema. Quero ler un valor célula específico dunha liña da táboa onde teño unha caixa de verificación. Teño un evento que manexa a caixa de verificación marcada por eventos. 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}});

Teño unha táboa chamada “empresas” e ten 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 quero facer é que cando seleccionas unha caixa de verificación, obtén o campo de valor da túa fila.

Se preme a primeira caixa de verificación Quero obter 125.

Grazas !!!

respostas

1 para a resposta № 1

da caixa de verificación (this na función Controlador de eventos), ten que ir ao contido <td>, a través do seguinte <td>, despois obtén o teu 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 isto non é o único <td> siblings() devolvería todo o resto, así que use o selector apropiado para filtralos.

0 para o Resposta № 3

Pódese acceder a:

$this.parent().next().text();

0 para a resposta № 4

Proba isto …

$("#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}});

Saúdos.

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *