[RESOLU] Recupérer une valeur dans une cellule dans un tableau en Jav

Petit nouveau ! | 3 Messages

20 févr. 2014, 17:26

Bonjour,

Je suis débutant en javascript
Je recherche le moyen de récupérer les valeurs par exemple 44.855224 et 0.595492 dans le tableau ci-dessous
pour les utiliser autre part?

Merci d'avance de votre aide

<table class="table" id="table">
<thead>
<tr>
<th>Nom de l'Entreprise</th>
<th>longitude</th>
<th>latitude</th>
<th>Date de passage</th>
<th>Heure de passage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Biocold process</td>
<td id="longitude">44.8544760</td>
<td id="latitude"> -0.5977413</td>
<td>18/02/2014</td>
<td>12h30</td>
</tr>
<tr>
<td>Cdiscount</td>
<td id="longitude">44.855224</td>
<td id="latitude">-0.595492</td>
<td>18/02/2014</td>
<td>13h30</td>
</tr>
</tbody>
</table>

Eléphant du PHP | 83 Messages

20 févr. 2014, 22:14

Salut,
Pour commencer vous avez une erreur fatale dans votre code HTML: il ne faut jamais avoir deux éléments ayant le même ID dans un code HTML.
donc :
...
<td>Biocold process</td>
<td id="longitude">44.8544760</td>
<td id="latitude"> -0.5977413</td>
<td>18/02/2014</td>
<td>12h30</td>
</tr>
<tr>
<td>Cdiscount</td>
<td id="longitude">44.855224</td>
<td id="latitude">-0.595492</td>
<td>18/02/2014</td>
...
doit devenir :
...
<td>Biocold process</td>
<td class="longitude">44.8544760</td>
<td class="latitude"> -0.5977413</td>
<td>18/02/2014</td>
<td>12h30</td>
</tr>
<tr>
<td>Cdiscount</td>
<td class="longitude">44.855224</td>
<td class="latitude">-0.595492</td>
<td>18/02/2014</td>
...
J'ai simplement changé les "ID" en "class", puis voila une solution utilisant JQuery et se basant sur votre tableau :
<html>

<head>
<title>TEST</title>
</head>
<body>
<table class="table" id="table">
<thead>
<tr>
<th>Nom de l'Entreprise</th>
<th>longitude</th>
<th>latitude</th>
<th>Date de passage</th>
<th>Heure de passage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Biocold process</td>
<td class="longitude">44.8544760</td>
<td class="latitude"> -0.5977413</td>
<td>18/02/2014</td>
<td>12h30</td>
</tr>
<tr>
<td>Cdiscount</td>
<td class="longitude">44.855224</td>
<td class="latitude">-0.595492</td>
<td>18/02/2014</td>
<td>13h30</td>
</tr>
</tbody>
</table>

<script type="text/javascript" src="js/jquery.js"></script>
   <script type="text/javascript" src="js/script.js"></script>

</body>

</html>
Puis le code Javascript :
[javascript]
$(document).ready(function() {

var longitudes = {};
var latitudes = {};

var lon_cont = 0;
var lat_cont = 0;

$(".longitude").each(function(){
longitudes[lon_cont] = $(this).text();
alert($(this).text());
lon_cont++;
});

$(".latitude").each(function(){
latitudes[lat_cont] = $(this).text();
alert($(this).text());
lat_cont++;
});

});
[/javascript]

Dans cet exemple j'ai créer un fichier "index.html" dans le quel j'ai placé le code HTML ! puis j'ai créer un dossier "js" dans le même dossier que "index.html" dans le quel j'ai placer deux fichiers "jquery.js" et "script.js".

le fichier "jquery.js" n'est autre que la bibliothèque JQuery.
le fichier "script.js" doit contenir le code JavaScript précédent

et vous aurez vos valeurs "longitude" et "latitude" dans les tableaux "longitudes" et "latitudes" que vous pouvez utiliser dans le reste de votre code comme suit :

longitudes[0] : retourne la première valeur de la longitude.
longitudes[1] : retourne la deuxième valeur de la longitude.
...

et pour la latitude:

latitudes[0] : retourne la première valeur de la latitude.
latitudes[1] : retourne la deuxième valeur de la latitude.
...


Bon codage.