OVH Cloud OVH Cloud

transfert de valeur entre select

1 réponse
Avatar
Cesar August
Bonjour Tous,

Mon problème est le suivant:
j'ai deux liste de valeurs dans des select
liste_1 avec X valeurs: valeur_1, valeur_2, etc
+ une liste_2 avec aucune valeur

CE QUI MARCHE
--------------------
j'arrive à faire passer les valeur_x d'une liste à l'autre: donc retirer
ou mettre.

CE QUI BUG
-------------------
ne sachant qu'elle est la place de chaque valeur dans ma liste, de sorte
que valeur_1 ait la place 1, valeur_2 la place n°2, etc, je ne sais pas
losrque je retire un élément d'une liste, la remettre dans sa place_x
suivant sa valeur_x.
Quelqu'un sait il comment javascript idente chaque valeur d'une liste et
comment faire pour que je remette à sa place "initiale" chaque valeur?
Merci de vos éclairages.

1 réponse

Avatar
ASM
Bonjour Tous,

Mon problème est le suivant:
j'ai deux liste de valeurs dans des select
liste_1 avec X valeurs: valeur_1, valeur_2, etc
+ une liste_2 avec aucune valeur

CE QUI MARCHE
--------------------
j'arrive à faire passer les valeur_x d'une liste à l'autre: donc retirer
ou mettre.

CE QUI BUG
-------------------
ne sachant qu'elle est la place de chaque valeur dans ma liste, de sorte
que valeur_1 ait la place 1, valeur_2 la place n°2, etc, je ne sais pas
losrque je retire un élément d'une liste, la remettre dans sa place_x
suivant sa valeur_x.
Quelqu'un sait il comment javascript idente chaque valeur d'une liste et
comment faire pour que je remette à sa place "initiale" chaque valeur?
Merci de vos éclairages.


çà m'a l'air bien compliqué c't'histoire !

c'est-y pas mieux que les valeurs rajoutées à droite
soient rangées dans l'ordre de leur arrivée
qu'au moins çà serve à qque chose de les y mettre
(ordre préférentiel de la part du visiteur)

mais si çà te tiens à coeur ...
tu peux par exemple :
- faire effacer toutes les valeurs en les rangeant dans un array
qui sera ordonné comme tu le veux
- puis remettre les valeurs à partir de cet array rangé

[select_1] [select_2]
option a option d
option b option b
option c
option d

function ranger() {
var R = new Array();
var k = 0;
with(document.forms[0]) {
for(var i=0;i<select_1.options.length;i++) {
for(var j=0;j<select_2.options.length;j++) {
if(select_1.options[i].value==select_2.options[j].value) {
R[k] = new Array();
R[k][0] = select_1.options[i].value;
R[k][1] = select_1.options[i].text;
k++;
}
}
}
select_2.options.length=0;
for(var i=0;i<R.length;i++) {
select_2.options.length++;
select_2.options[i].value = R[i][0];
select_2.options[i].text = R[i][1];
}
}
}

--
Stephane Moriaux et son [moins] vieux Mac