Parcourir un tableau de trouver un td en classe et de modifier le texte pour qu'td
J'ai un Entity Framework généré tableau avec des valeurs dans un td que j'ai besoin de changement. J'ai besoin de le faire ligne par ligne de base parce que j'ai besoin d'insérer un groupe de boutons radio, mais chaque rangée de boutons, qui a besoin d'un nom unique.
En gros, j'ai besoin de régler la valeur cochée pour un groupe de boutons basé sur la valeur du texte dans un td avec l'id de "Taux", et de supprimer le texte existant après j'ai de la valeur de celui-ci.
Ma Table ressemble à ça,
<table id="IndexTable">
<tr>
<th>CoffeeID </th>
<th>Degree </th>
<th>Weight </th>
<th>Profile </th>
<th>UsageInfo </th>
<th>Comments </th>
<th>AmbientTemp </th>
<th>Rating </th>
<th>WeightDeducted </th>
<th>Selected </th>
<th>ProfileID </th>
<th>ProfileStart </th>
</tr>
<tr>
<td>1 </td>
<td>1 </td>
<td>3 </td>
<td>9 </td>
<td>Filter Brew </td>
<td>Perfecto!! </td>
<td>55 </td>
<td id="Rating">4.25 </td>
<td>1 </td>
<td>4 </td>
<td>34 </td>
<td>1 </td>
</tr>
<tr>
<td>3 </td>
<td>15 </td>
<td>99 </td>
<td>87 </td>
<td>Espresso </td>
<td>WTF </td>
<td>99 </td>
<td id="Rating">4.5 </td>
<td>5 </td>
<td>3 </td>
<td>66 </td>
<td>4 </td>
</tr>
Et mon script est comme suit.
$("tr").each(function() { //get all rows in table
var str = $("text[id=Rating]").val(); //assign text with matching id to str ---doesn't work
$("td").each(function() { //get all tds in current row
var newStr = ("#Rating").text; //assign text in td with id Rating to newStr ---- doesn't work
alert(newStr); //fires undefined for each td in table?
//This is where I want to insert radio buttons and assign the one with the value of the Rating td to checked.
});
});
C'est juste la dernière, j'ai regardé tous les cours de ce site, mais tout ce que j'ai vu n'a pas affaire à l'obtention de la valeur d'une colonne d'une ligne spécifique, la modification de la valeur, et à répéter pour chaque ligne/colonne dans la table.
Je viens d'une base de données d'arrière-plan, où c'est vraiment simple et c'est très frustrant.
L'ID doit être unique dans les DOM. Vous ne pouvez pas avoir plus d'un
id="Rating"
dans un document html.Je veux remplacer le texte dans le td avec la notation de la "classe comme l'a souligné" avec des boutons radio et de vérifier l'un correspondant à la valeur.
OriginalL'auteur Ed Kratz | 2012-04-09
Vous devez vous connecter pour publier un commentaire.
Vous avez quelques choses de mal avec votre code html, et votre jQuery, pour commencer, comme SKS a dit, vous ne pouvez pas avoir plusieurs nœuds dans votre document html qui ont le même ID. L'ID doit être unique. Je recommande d'utiliser une classe à la place.
Vous devez également avoir votre ligne d'en-tête dans un
<thead>
et le corps de votre table dans un<tbody>
maintenant, sur votre jQuery,
$("td")
trouverez tous les la banque td dans le document, et pas seulement celles qui sont dans votre ligne.que vous souhaitez utiliser
$(this).find('td')
ou vous pourriez utiliser .les enfants ou une fantaisie de plus haut niveau du sélecteur. Il ya BEAUCOUP de différents, la bonne manière d'obtenir cette information.J'ai de prendre votre code et l'a modifié comme suit:
Cela fonctionne avec le html légèrement modifiée:
Espère que cette aide vous aider à aller dans la bonne direction!
oh, j'ai presque oublié! voici un lien vers un jsfiddle de sorte que vous pouvez le voir en action: http://jsfiddle.net/fCpc6/
mon plaisir, jquery peut être un peu écrasante au premier abord. Vous devriez passer un peu de temps à la recherche si la documentation pour les sélecteurs. il vous aidera beaucoup.
J'ai été Patricia, il est juste confus parce que tous leurs exemples semblent être seul cas, et de comprendre comment les utiliser ensemble, c'est ce qu'en me jetant. Maintenant j'ai juste à trouver comment remplacer la valeur dans la cellule avec mes radios.
OriginalL'auteur Patricia
Je pense que vous êtes à la recherche pour:
Ou:
OriginalL'auteur Steven Edison
Vous avez quelques erreurs dans votre code javascript.
this
pour obtenirtd
s qui appartiennent à l'actueltr
."text[id=Rating]"
est pas valide sélecteur - il n'y a pas de balise de texte.#Rating
devrait probablement être une classe, puisque les Id doit être unique. (changement<td id="Rating">
à<td class="rating">
..text()
.Voici une mise à jour de l'échantillon:
OriginalL'auteur jrummell