Sóc nou en JQuery i tinc un problema. Vull llegir un valor de cel·la específic d’una fila de la taula on tinc una casella de verificació. Tinc un esdeveniment que maneja l’esdeveniment marcat casella de verificació. Aquest és el meu codi:
$("#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}});
Tinc una taula anomenada “empreses” i té aquest format.
<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>
el que vull fer és que quan seleccioni una casella de verificació, obtingui el camp de valor de la seva fila.
Si pressiono la primera casella de verificació vull obtenir 125.
¡¡¡Gràcies !!!
Respostes
1 per a la resposta № 1
A partir del seu quadre de verificació (this
en la funció de controlador d’esdeveniments), ha d’anar fins al contingut <td>
element, a través de la següent <td>
element, a continuació, obtenir el seu text:
$("#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 per a la resposta № 2
Utilitzar siblings()
de el pare:
$this.closest("td").siblings().text();
Si aquest no és l’únic <td>
siblings()
retornaria tota la resta, per tant utilitzeu el selector apropiat per filtrar-los.
0 per a la resposta № 3
Es pot accedir amb:
$this.parent().next().text();
0 per a la resposta № 4
Prova això …
$("#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}});
Salutacions.