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.