Gros prob

Signaler
Messages postés
48
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
29 juillet 2010
-
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
-
Bonjour je veux faire une liste dynamique en javascript à partir d'éléments(vecteurs) contenus dans un fichier .js externe,
j'ai donc créé une fonction qui parcours ce vecteur:

<script type="text/javascript">

function affichage()
{
for ( var i=0; i<vecteur.length; i++ )
{
var arr = document.getElementById("lstitem")
arr.options[i+1]=new option(vecteur[i], i)
}
}

</script>


Et ensuite je l'appele dans mon lstitem avec l'événement on change:

<select name="lstitem" id="lstitem" onchange="affichage()">
<option value="nil"> Choisissez un item </option>
</select>


Et sa ne fonctionne pas, quelqu'un peu m'aider?

Merci

6 réponses

Messages postés
48
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
29 juillet 2010

Personne peut m'aider????
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
5
Bonjour,

ton erreur était simple. Ce n'est pas "new option" mais "new Option" car Javascript est CaSe SEnSitIVe.

Ce code-ci fonctionne parfaitement :

<script type="text/javascript">
vecteur=new Array("a","b","c");
function affichage()
{
for ( var i=0; i<vecteur.length; i++ )
{
var arr = document.getElementById("lstitem").options[document.getElementById("lstitem").options.length]=new Option(vecteur[i], i)
}
}

</script>


Cordialement,

JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
Messages postés
48
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
29 juillet 2010

Et je mets la propriété onchange à mon select?
Messages postés
48
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
29 juillet 2010

Voici ce que j'ai fait:

<script type="text/javascript">

function afficher()
{
for ( var i=0; i<vecteur.length; i++ )
var arr = document.getElementById("lstitem").options[document.getElementById("lstitem").options.length]=new Option(vecteur[i], i)
}

</script>


Et sa ne fonctionne pas, notez que je n'ai pas écrit vecteur=new Array("a","b","c"); car mon vecteur est déja déclaré dans un autre fichier infos.js que j'appelle en haut comme suit:
<script type="text/javascript" src="JavaScript/infos.js"></script>

Merci
Messages postés
48
Date d'inscription
vendredi 25 septembre 2009
Statut
Membre
Dernière intervention
29 juillet 2010

Sa fonctionne... Maintenant je dois trouver une fonction qui fera en sorte qu'on affichera l'image et le prix de l'article sélectionné dans la liste...


Merci
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
5
Peut être en utilisant des Array d'Array ?

vecteur=new Array();
vecteur[0]=new Array();
vecteur[0][0]="Nom de l'article";
vecteur[0][1]="adressedelimage.jpg";
vecteur[0][2]="prix";
vecteur[1]=new Array();
vecteur[1][0]="Nom de l'article";
vecteur[1][1]="adressedelimage.jpg";
vecteur[1][2]="prix";

et ainsi de suite ;) Et tu peux modifier le script ainsi :

function afficher()
{
for ( var i=0; i<vecteur.length; i++ )
var arr = document.getElementById("lstitem").options[document.getElementById("lstitem").options.length]=new Option(vecteur[i][0], i)
}


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com