2009-05-26 10 views
0

ok, donc j'ai une table avec les éléments suivants:de mise à jour à l'aide jquery

<table id="servertable"> 
     <tr> 
     <th scope="col">Server Name</th><th scope="col">Location</th><th scope="col">Status</th> 
     </tr><tr><td>servername1</td><td>pathtoserver1</td><td>Unknown</td></tr> 
     <tr><td>servername2</td><td>pathtoserver2</td><td>Unknown</td></tr> 
     <tr><td>servername3</td><td>pathtoserver3</td><td>offline</td> 
     </tr> 
    </table> 

et essaie de mettre à jour l'état d'un serveur (en utilisant jquery) sur la base du « pathtoserver », par exemple, le javascript fonction reçoit, "pathtoserver2" et "en ligne". Je voudrais localiser le serveur dans la table et remplacer la valeur "Inconnu" ou quoi que ce soit avec "en ligne".

J'ai essayé quelque chose comme ceci: $ ('# servertable td'). Find ("#" + serveur); - pour trouver le serveur, mais qui cherche l'id, donc, je ne suis pas sûr si j'ai besoin d'assigner un id à la contenant les valeurs "pathtoserver", ou s'il y a un moyen d'utiliser ".each (function (. .) » construire pour situé et mettre à jour en conséquence, il

donc j'utilisé ceci:. $('#servertable td:contains(' + server + ')')

et cela fonctionne presque, sauf que je dois trouver correspondance exacte, donc je change à:

$('#servertable td:eq(' + server + ')') 

Cependant maintenant, il ne trouve que le premier (je pense), comment puis-je trouver toutes les correspondances exactes?

+0

Avez-vous envisagé de définir un identifiant sur 'tr's ou' td's? – Powerlord

Répondre

0

Cela devrait trouver le td avec le nom du serveur, en supposant que la variable est appelée « serveur »:

$('#servertable td:contains(' + server + ')') 

Pour obtenir la prochaine td, vous ajoutez juste .next() à cela.

+0

Je l'ai changé en td: eq ('+ serveur +') '), cependant maintenant si j'ai plusieurs valeurs avec le même nom dans la table, il n'en trouve qu'une ..? – ra170