[Javascript]modifier la valeur d'un objet

bacus -  
 Rousss -
bonjour,

J'ai une serie de Select dans ma page donc je veux modifier certaines propriétés notament la valeur.
Chacun de mes Select porte un nom du type Sel_X ou X est un index (j'ai donc des Sel_0, Sel_1 ...)
J'ai trouvé la commande suivant :

Sel_0.options[Sel_0.selectedIndex].value = 10;

qui me permet de changer la valeur.
Mon problème est de positionner cette ligne dans une boucle du style :

for (X=0; X<10; X++)
{

Sel_X.options[Sel_X.selectedIndex].value= 0;

}

En effet pas moyen de remplacer Sel_X par Sel_0 au premier tour pui Sel_1 au second et aussi de suite :(

J'ai toujours Sel_X qui biensur n'existe pas

merci de votrre aide
le
Configuration: Windows XP
Internet Explorer 6.0

14 réponses

  1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    C'est con... j'ai trouvé un truc pour contourner ton problème, tellement con ^^ comment ne pas y avoir penser avant :p

    Voici le truc : le principe est de connaitre le nom de base de ton élément à prendre (liste) ainsi que le nombre de ces élements pour la boucle. Tout ca en paramètre d'une fonction JS, ou dans le corps d'un autre script peut importe et tu fais ceci :
    <script language="javascript">
    function popo ( libelle, nb ){
       var oDiv = null;
       for (X=0; X<nb; X++) { 
          oDiv = document.getElementById(libelle+X);
          oDiv.options[oDiv.selectedIndex].value= 0; 
       } 
    }
    </scritp>
    


    Et tu n'as plus qu'à appeler ta fonction depuis javascript ou php.

    Bien sur, il ne faut pas oublier de mettre un identifiant pour chacune de tes listes, ayant le même "corps" mais un numéro différent :
    <select id="liste1" ...>...</select>
    <select id="liste2" ...>...</select>
    


    Bon courage pour la suite.

    ps : pas testé le script donc il se peut qu'il y ai des erreurs.
    2
  2. Rousss
     
    C'est bon j'ai trouver (merci Junq), mais sa ne marche pas sur internet explorer... que puis-je faire pour que la video se modifie aussi sur internet explorer

    <!bouton pour lancer la fonction!>
    <input type="button" value="change video" onclick="charge_vid('http://www.dailymotion.com/swf/x32mgo')">

    <!la video a changer!>
    <center>
    <div name="vid" class="gauche">
    <object width="420" height="252" name="lec">
    <param id="vid1" name="movie" value="https://www.dailymotion.com/embed/video/x3hj51"></param>
    <param name="allowFullScreen" value="true"></param>
    <param name="allowScriptAccess" value="always"></param>
    <embed id="vid" src="https://www.dailymotion.com/embed/video/x3hj51" type="application/x-shockwave-flash" width="420"

    height="252" allowFullScreen="true" allowScriptAccess="always"></embed></object><br /><b></a></i></div>
    </center>

    <!le script!>
    <script language="Javascript">
    function charge_vid(i)
    {
    var d=document.getElementById("vid");
    d.src=i;
    d.style.display="none";
    alert("video charger ;)");
    d.style.display="";
    }
    </script>
    1
  3. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    Le sujet a déjà été traité sur ce forum mais je n'arrive pas a remettre la main sur la discution en question et je ne me souviens plus non plus de la solution (toute simple pourtant :s)

    A suivre...
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. bacus
     
    Erf j'ai pas bolle .. tu te souviens pas :/

    Je cherche depuis plusieur jour sans succé.
    Ca doit tenir a pas grand chose dans la facon d'ecrire le code mais comment ??
    0
  6. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    Arf non désolé je vois bien en PHP comment faire en fait, mais pas en javascript.

    Peut-être quelqun de plus compétent en javascript... :)
    0
  7. bacus
     
    J'ai fait le tour de tous les poste que j'ai trouve sur le forum et rien :(
    0
  8. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Tu peux aussi faire :
    for (X=0; X<10; X++)
    {
      eval("Sel_"+X+".options[Sel_"+X+".selectedIndex].value= 0;");
    }
    0
    1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
       
      Voilà la fameuse réponse, merci Xavier :)
      0
  9. Rousss
     
    Desole je suis nouveau dans la programmation, sur mon site, j'affiche des video daily motion du type:

    <div><object width="420" height="336"><param name="movie" value="http://www.dailymotion.com/swf/x3u7kk&v3=1&related=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.dailymotion.com/swf/x3u7kk&v3=1&related=1" type="application/x-shockwave-flash" width="420" height="336" allowFullScreen="true" allowScriptAccess="always"></embed></object><br /><b><a href="http://www.dailymotion.com/video/x3u7kk_mfda-4x05-la-phalange-du-singe-part_fun">MFDA 4x05 La Phalange Du Singe (part1)</a></b><br /><i>envoyé par <a href="http://www.dailymotion.com/Kinay90">Kinay90</a></i></div>

    j'aurais aimer changer la video (pour eviter de trop en afficher), a l'aide de java, je pense que cet exemple peut m'aider, mais je n'arrive pas a l'appliquer:

    <script language="Javascript">
    function code()
    {
    var oDiv = null;
    oDiv = document.getElementById("movie");
    oDiv.value="http://www.dailymotion.com/swf/x3wj9l";
    }
    </script>

    <input type="button" value="Liste" onclick="javascript:code()">

    J'ai esssayer d'autre code, mais...sans succes
    0
  10. Rousss
     
    j'ai essayer une autre version :P

    mon script

    <script language="Javascript">
    function code()
    {
    alert("ok");

    var d=null; //devrais-je le declarer autrement???
    d=document.vid.lec.movie; //je sais pas si sa fonctionne sa :P
    d.value="https://www.dailymotion.com/embed/video/x2z9j3"; //la nouvelle valeur, la nouvelle video donc
    alert("fait");
    }
    </script>

    <input type="button" value="Liste" onclick="Javascript:code()"> //appel de ma fonction

    <center> //la video de base
    <div name="vid"><object width="420" height="252" name="lec"><param name="movie"

    value="https://www.dailymotion.com/embed/video/x3hj51"></param><param name="allowFullScreen" value="true"></param><param

    name="allowScriptAccess" value="always"></param><embed src="https://www.dailymotion.com/embed/video/x3hj51"

    type="application/x-shockwave-flash" width="420" height="252" allowFullScreen="true"

    allowScriptAccess="always"></embed></object><br /><b>>ubi</a></i></div>
    </center>
    0
  11. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Je ne sais pas ce qu'il en est pour IE7, mais IE6 ne gérait pas bien la distinction entre Name et Id d'un élément...
    Donc je te propose de supprimer le name="vid" qui est sur ton <div>.

    Pas sûr que ça change quoi que ce soit, mais c'est une possibilité...

    Xavier
    0
  12. Utilisateur anonyme
     
    Bonjour,
    merci d'aller voir sur cette convers. et de m'aider si possible
    bonne journée
    0
  13. Rousss
     
    malheureusement, sa n'a rien changer....mais merci :)

    J'ai trouver encore une nouvelle chose, utiliser un fichier source java,
    mais il semble que sa ne serve qu'au chargement de la page...

    Une foi la page charger, ie pose probleme avec le flash si j'ai bien compris,
    donc, pour modif c'est ... peu etre impossible :'(, mais rien est impossible :P

    Aider moi plz :D
    0
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      Attention, tu parles de Java depuis le début, mais cela n'a à peu près rien à voir : toi tu fais du JavaScript, c'est différent !
      0
  14. Rousss
     
    Oui j'ai abrevier desoler, mais bon c'est bien le sujet du topic :D
    apparemment personne ne sait...
    0