Je suis nouveau à JQuery et j’ai un problème. Je veux lire une valeur cellulaire spécifique d’une rangée de la table où j’ai une case à cocher. J’ai un événement qui gère la case à cocher marquée de l’événement. Ceci est mon code:
$("#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}});
J’ai une table appelée « Sociétés » et a ce 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>
Ce que je veux faire, c’est que lorsque vous sélectionnez une case à cocher, obtenez le champ de valeur de votre ligne.
Si j’appuie la première case à cocher que je veux obtenir 125.
merci !!!
réponses
1 pour la réponse № 1
Dans votre case à cocher (this
dans la fonction de contrôleur d’événements), vous devez aller au Contenu <td>
élément, via l’élément suivant <td>
élément, puis obtenez votre texte:
$("#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 pour la réponse № 2
Utilisez du parent:
$this.closest("td").siblings().text();
Si ceci n’est pas le seul <td>
retournerait tout le reste, utilisez donc le sélecteur approprié pour les filtrer.
0 pour le Réponse № 3
est accessible avec:
$this.parent().next().text();
0 pour la réponse № 4
Testez ce …
$("#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}});
Salutations.