4 votes

Comment changer la valeur d'un TD particulier dans une ligne avec JQuery ou Javascript ?

Donc si j'ai une table :

<table id="someTable">
  <tr><td>Key1</td><td>Value1</td></tr>
  <tr><td>Key2</td><td>Value2</td></tr>
  <tr><td>Key3</td><td>Value3</td></tr>
</table>

Existe-t-il un moyen d'obtenir l'"index de la ligne" de la valeur 2 et de stocker la valeur "Key2" dans une variable. Ensuite, en utilisant cet "index de la ligne contenant la valeur 2", je change le "premier TD" (ou s'il y a trois TD, obtenir le 3ème TD) de cette ligne en quelque chose comme "clé modifiée" ?

Quelque chose comme "index of tr" et ensuite spécifier "index of td" à changer... pas sûr que ce soit possible avec jquery ou javascript.

8voto

Demian Brecht Points 11083

Si vous connaissez l'index de la ligne et de la cellule, vous pouvez faire quelque chose comme ceci :

$(document).ready(function(){
    $('#someTable tr:nth-child(2) td:nth-child(1)').html('foo');
});

Vous pouvez également extraire la valeur actuelle de la cellule en utilisant le même sélecteur, mais .html() plutôt que .html(content)

Le violon ici

1voto

Thomas Shields Points 5820

Si vous passez à jQuery un td vous pouvez obtenir l'index de la ligne qu'il contient (par rapport aux autres lignes) à l'aide de la commande $(obj).parents("tr").index(); //obj is the td object passed in Vous pouvez faire de même pour la cellule du tableau : $("#yourtable td").eq(index).text("Your Value"); //index is the index you wanna grab

0voto

//First, obtain the td that contains 'Value2'
var $tdThatContainsValue2 = $("#someTable tr td").filter(function(){
    return $(this).html() == "Value 2";
});
//Then, obtain the first td in its row (it's first 'sibling');
$firstCellOfValue2row = $tdThatContainsValue2.siblings("td").eq(0);
alert($firstCellOfValue2row.html());  //Will show "Key 2"

J'espère que cela vous aidera

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X