begin process at 2012 05 29 09:08:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Liste Dynamique en fonction des valeurs déjà choisies


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Liste Dynamique en fonction des valeurs déjà choisies

samedi 17 octobre 2009 à 20:18:21 | Liste Dynamique en fonction des valeurs déjà choisies

tcyrill2

Bonjour,

Je souhaite faire un formulaire avec un nombre aléatoire d'<option> dans un <select> pour établir un classement.

En fait, j'ai un nombre d'élément définit que je récupère dans en bdd via php.
Je veux en faire un tableau avec, en face chaque élément, une liste <select> contenant les <option> 1,2,3,...,nb_élément ......... et surtout que chaque liste se mette à jour en fonction des valeurs déjà sélectionnées dans les autres listes !?

Par avance, merci :)
dimanche 18 octobre 2009 à 09:17:54 | Re : Liste Dynamique en fonction des valeurs déjà choisies

Bul3

Membre Club
Bonjour,
>>nombre aléatoire d'<option> dans un <select>
variable non plutôt qu'aléatoire ?
suffit de les créer
foultitudes méthodes, exemple
Code Javascript :
le_select.length++;
le_select.options[le_select.length-1].value="le value"
le_select.options[le_select.length-1].text="le texte"

>>j'ai un nombre d'élément définit que je récupère
>>dans en bdd via php.
ah... c'est donc bien variable at pas aléatoire
>>faire un tableau avec, en face chaque élément,
>>une liste <select> contenant les <option> >>1,2,3,...,nb_élément .........
appliquer la 1ère réponse à chaque éléments
>>que chaque liste se mette à jour en fonction
>>des valeurs déjà sélectionnées dans les autres listes
histoires des select liés ?
petit exemple ici ( 1-javascript 2-php 3-ajax
c'est une exemple avec 2 select, vous
généraliserez pour n )
Cordialement [mon Site] [M'écrire] Bul
dimanche 18 octobre 2009 à 11:34:01 | Re : Liste Dynamique en fonction des valeurs déjà choisies

Bul3

Membre Club
quoique, pour la dernière question,
si ça se trouve c'est invalider l'option
qu'on choisit dans les autres select ?
_ effacer le .text
_ détruite l'option
le_select.remove(n° de l'option)
oeuf corse, ça oblige à reconstruire les
select en cas de changement
_ ...
dimanche 18 octobre 2009 à 13:33:12 | Re : Liste Dynamique en fonction des valeurs déjà choisies

tcyrill2

Merci pour ton aide,
mais j'ai du mal m'expliquer...
où alors je suis trop mauvais pour adapter à mes besoins (c'est bien possible aussi).

En fait, il faudrait que j'arrive à atteindre les numéro d'option non-selectionnés pour les supprimer.
J'ai trouvé ce code pour supprimer des éléments de liste
Code Javascript :
document.formulaire.liste.options[5] = null;
mais je n'arrive pas a remplacer "liste" par le nom de liste. Pa exemple, dans une boucle while, j'ai mis
Code Javascript :
document.formulaire.'element'+z.options[5] = null;
mais ça ne fonctionne pas (Oui, je débute en JS, j'ai des pb de manipulaiton de variable).

Sinon, est-ce qu'il ne serait pas possible d'ajouter seulement les <select></select> avec PHP, créer un tableau JS contenant les valeurs 1,2,3,X puis pour chaque liste, ajouter les <options></options> encore existant dans le tableau. Ensuite, à la selection dans une liste, je supprime la valeur selectionnée du tableau JS, ainsi toutes mes listes sont mises à jour ? je sais pas si je suis clair et si ça peut marcher fonctionnellement parlant.

Merci pour votre aide
dimanche 18 octobre 2009 à 14:06:14 | Re : Liste Dynamique en fonction des valeurs déjà choisies

Bul3

Membre Club
pour "atteindre" les select ?
ça dépend de comment ils sont "décrit".
vous semblez avoir un formulaire
et des select avec le même name (?)
Code HTML :
<form name="formulaire"....>
    <select name="liste"...></select>
    <select name="liste"...></select>
....
</form>
dans ce cas il faut utiliser
document.formulaire.liste[n° du select]
sachant que document.formulaire.liste.length
c'est le nombre de select name="liste"

vous ne répondez pas tout à fait à mes questions,
mais je pense que c'est bien "effacer dans les
autres select une option choisie dans un select"
que vous voulez faire (?)
=null comme vous le proposez ????
pas sûr ( à tester )
n'oubliez pas, qu'après une suppression,
cette option n'existe plus et que si c'est
l'option 2 que vous avez supprimé elle est
"remplacée" par l'option 3
dimanche 18 octobre 2009 à 14:17:33 | Re : Liste Dynamique en fonction des valeurs déjà choisies

Bul3

Membre Club
ch'tiot exemple :

je suppose 3 select avec 3 choix :
1 1 1
2 2 2
3 3 3
on choisit 2 dans le select 1 ==>
select 1 vide, 2 dans le select 2 et select 3 disparaissent
. 1 1
. 3 3
on choisit 3 sans le 2 ==>
select 2 vide, 3 dans le select 3 disparait
. . 1

ah... ben non... je voudrais
modifier et choisir 3 dans le 1



dimanche 18 octobre 2009 à 16:44:09 | Re : Liste Dynamique en fonction des valeurs déjà choisies

tcyrill2

Oui, Oui, c'est exactement ce que je veux.

Pour répondre à une question précédente, les name de mes <select> sont element1,element2,element3,elementX ... faut-il qu'il portent le même name ??

Et pour la problématique des lignes supprimées, est-ce qu'il est possible, dans le cas d'un changement de valeur dans une liste, de transmettre l'ancienne valeur à une autre fonction pour remettre cette valeur dans les autres listes ?
Sinon, en un peu moins propre certes, il est peut-être possible d'afficher un bouton pour réinitialiser les listes ?

Merci encore.
dimanche 18 octobre 2009 à 17:06:45 | Re : Liste Dynamique en fonction des valeurs déjà choisies

tcyrill2

En fait, pour le moment, je contruis mes select avec une boucle PHP :
Code PHP :
   $i=1;
   while ($i <= $NB_element)
      {
      echo '<tr>';
      echo '<td style="width:150px; text-align:center">'.$TAB_element['Nom']).'</td>';
      echo '<td>';
      echo '<select name="element'.$i.'" size="1" onChange="verif_liste(\'element'.$i.'\')" />';
      $j=1;
      echo '<option value=""> </option>';   /*Pour créer une valeur vide par défaut
      while ($j <= $NB_element)
         {
         echo '<option value="'.$j.'">'.$j.'</option>';
         $j++;
         }
      echo '</select>';
      echo '</td>';
      echo '</tr>';
      $i++;
      }


Jusque-là, ça va, j'ai écris un truc test dans ma fonction 'verif_liste()' pour voir si je récupérais bien mes infos, ça marche.
Mon problème étant de faire une boucle sur toute les liste autres que celle modifiée (passée en argument à la fonction) pour supprimer la valeur utilisée...

Clt,
lundi 19 octobre 2009 à 09:13:38 | Re : Liste Dynamique en fonction des valeurs déjà choisies

Bul3

Membre Club
>>...est-ce qu'il est possible, dans le cas d'un changement
>>de valeur dans une liste, de transmettre l'ancienne
>>valeur à une autre fonction pour remettre cette
>>valeur dans les autres listes ? ...
>>...un bouton pour réinitialiser les listes ?...
on peut tout... reste à programmer ces séquences !!

"moi" , je ferais le "contraire"
au lieu d'une liste de classement à chaque élément,
mettre une liste d'éléments à classer

au lieu de

question 1 ~ <select>1 ou 2 ou 3</select>
question 2 ~ <select>1 ou 2 ou 3</select>
question 3 ~ <select>1 ou 2 ou 3</select>

je ferais

<select>
question 1
question 2
question 3</select>

et donner la possibilité de "classer"
les options ( inverser 2 à 2 ) c'est
assez simple à réaliser

lundi 19 octobre 2009 à 12:30:57 | Re : Liste Dynamique en fonction des valeurs déjà choisies

tcyrill2

Sinon, j'ai peut-être une idée !?

Créer 2 tableaux de variables :
- 1 contenant toutes les valeurs possibles du classement.
- 1 autre contenant toutes les valeurs déjà utilisées.
Supprimer les options des listes
Puis refaire les listes en fonction des 2 tableaux.

Pour le moment, je créé bien mes 2 tableaux correctement (vérifié).
Je bloque pour supprimer les options des listes, j'ai essayé pleins de trucs, mais en vain ...
Code Javascript :
this.form.element1.options.length=0;

Code Javascript :
this.form.elements['element1'].options.length=0;


... je n'arrive pas a atteindre l'attribut 'length' de mes select
Code HTML :
<form name="classement" method="post" action".......">
   <select name="element1" size="1" onChange="verif_liste()">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
   </select>
   <select name="element2" size="1" onChange="verif_liste()">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
   </select>
   <select name="element3" size="1" onChange="verif_liste()">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
   </select>
</form>

...voilà, par exemple, dans le formulaire ci-dessus, comment je peux faire pour atteindre les éléments 'length' de mes listes ?

Merci

1 2

Cette discussion est classée dans : fonction, élément, liste, valeurs, déj


Répondre à ce message

Sujets en rapport avec ce message

Besoin urgent d'une fonction Javascript [ par David ] Bonjour,Voici le context:J'utilise des JSP dans lesquelles j'insert des tags avec des listes déroulantes en import Java.J'ai un champ text dans lequel problème de passage de valeurs dans fonction [ par tkoniez ] Bonjour,je n'arrive pas à passer des valeurs dans une fonction... PS : sans passage de valeurs la même fonction tourne sans problème (fonction : Trans Valeurs de listes [ par dellechan ] Bonjour,function selectl(l, c){form1.l.options.value = c;}-->Voici un petit script, où la variable l représente le nom de la liste, et c, la valeur à Affiche un calque avec une liste(select) [ par missFlo17 ] Bonjour, j'aimerai faire apparaître un calque en cliquant sur un élément d'une liste (avec ) et le faire disparaître lorsque je clic sur un autre élém liste grisée en fonction de la valeur d'une autre liste [ par zincben ] bonjour, je commence en php, javascript, et je veux générer un formulaire en php, avec un javascript qui grise ma 2nde liste quand la 1ère prend une c Pb ave une listeview [ par sepul ] Salut, malgré l'aide de grenard je me galère encore !voila j'ai une liste à gauche et un textarea à droite: lorsque je clic sur un élément de la liste Ha... je ne sais pas comment m en sortir sur ste question de javascript [ par sammer ] a)Ecrivez le code de la fonction initialise() qui utilise la fonction « Math.random () » pour remplir le tableau « valeur » avec des nombres variants Ha... je ne sais pas comment m en sortir sur ste question de javascript [ par sammer ] a)Ecrivez le code de la fonction initialise() qui utilise la fonction « Math.random () » pour remplir le tableau « valeur » avec des nombres variants Focus sur un élément dans une liste Select multiple [ par Barbichou ] Bonjour.J'ai une liste à choix multiple dans une page HTML, avec certains des éléments déjà sélectionnés, et triés dans un certain ordre. Le pb est de Selectionner un élément dans une liste [ par BozzoDodo ] Bonjour, j'aimerai savoir comment sélectionner un élément d'une liste... voila ca doit pas être compliqué mais je fais plus que de débuté :)Merci de v


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,404 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales