Récupérer les noms et les mettre dans une liste déroulante

Résolu
DevDouv Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
DevDouv Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je débute en javascript et j'ai une question.

J'ai le texte suivant dans une page HTML:

[{"name":"Variable"},{"name":"TestsVariables"},{"name":"COM"},{"name":"COM2"},{"name":"Uden"},{"name":"ERYL"},{"name":"DP_COL"},{"name":"TDCOL"},{"name":"TEST"},{"name":"TEST1"},{"name":"BABIL"},{"name":"TEST2"},{"name":"ESSAI2"}]

je souhaite récupérer juste ce qui est entre les "" genre : Variable TestsVariables COM COM2 Uden... et les mettre dans une liste déroulante dans cette même page HTML.
Pouvez-vous m'aider à le faire?
Merci.
A voir également:

5 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Version php :
<?php

$jsonString = '[{"name":"Variable"},{"name":"TestsVariables"},{"name":"COM"},{"name":"COM2"},{"name":"Uden"},{"name":"ERYL"},{"name":"DP_COL"},{"name":"TDCOL"},{"name":"TEST"},{"name":"TEST1"},{"name":"BABIL"},{"name":"TEST2"},{"name":"ESSAI2"}]';

$jsonData = json_decode($jsonString);

foreach ($jsonData as $data) {
    echo $data->name;
}


Version javascript :
<script>
var jsonData = [{"name":"Variable"},{"name":"TestsVariables"},{"name":"COM"},{"name":"COM2"},{"name":"Uden"},{"name":"ERYL"},{"name":"DP_COL"},{"name":"TDCOL"},{"name":"TEST"},{"name":"TEST1"},{"name":"BABIL"},{"name":"TEST2"},{"name":"ESSAI2"}];

for (var i = 0; i < jsonData.length; i++) {
    document.write(jsonData[i].name);
}
</script>


Bonne journée,
1
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Pour alimenter ta liste à partir des données :
<select id="ListeApplication" name="ListeApplication">
  <option selected>Selectionnez une application</option>
</select>

<script>
var jsonData = [{"name":"Variable"},{"name":"TestsVariables"},{"name":"COM"},{"name":"COM2"},{"name":"Uden"},{"name":"ERYL"},{"name":"DP_COL"},{"name":"TDCOL"},{"name":"TEST"},{"name":"TEST1"},{"name":"BABIL"},{"name":"TEST2"},{"name":"ESSAI2"}];

var select = document.getElementById('ListeApplication'); 

for (var i = 0; i < jsonData.length; i++) {
  var opt = document.createElement('option');
  opt.value = jsonData[i].name;
  opt.innerHTML = jsonData[i].name;
  select.appendChild(opt);
}
</script>
1
DevDouv Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup.
0
trollouf
 
ça ressemble plutôt à du Json que du HTML , cherchez de ce côté là.

Bizarre d'ailleurs ça n'a rien à faire dans le HTML, ça ne serait pas plutôt dans une balise de script?
0
DevDouv Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Oui c'est une liste que je récupère depuis une base de donnée, ça n'a pas de rapport avec de l'HTML c'est juste que ça figure dans ma page html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DevDouv Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour je vous remercie, dernière question, comment mettre le résultat dans une liste déroulante?
Merci énormément.
0
DevDouv Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai essayé de faire ça mais dans ma liste je ne trouve que [object Object] pour tout:

<html>
<FORM name="FormApplication">
Application :
<select name="ListeApplication">
<option SELECTED>Selectionnez une application</option>
</select>
</form>
<script type="text/javascript">

var jsonData= new Array({"name":"Variable"},{"name":"TestsVariables"},{"name":"COM"},{"name":"COM2"},{"name":"Uden"},{"name":"ERYL"},{"name":"DP_COL"},{"name":"TDCOL"},{"name":"TEST"},{"name":"TEST1"},{"name":"BABIL"},{"name":"TEST2"},{"name":"ESSAI2"});
var d=document.FormApplication.ListeApplication;
for(var i=0; i < jsonData.length ; i++)
{ d.length++;
d.options[d.length-1].text = jsonData[i];
}
</script>
</html>
0