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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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];
}
}
}
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]; } } }