Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

cherche script echange option select

12 réponses
Avatar
Rakotomandimby (R12y) Mihamina
Bonjour,
J'essaie d'avoir deux <select></select> (un à gauche l'autre à droite)
avec au milieu des deux, deux boutons: un vers la gauche, un vers la droite.

Le but est de faire passer les options selectionnées de l'un vers
l'autre, au moyen des boutons qu'il y a au milieu.

Un début de piste, mais qui ne fait pas encore tout ce dont j'ai besoin:
http://www.mredkj.com/tutorials/tutorial005.html

Auriez-vous un autre document dans vos bookmarks qui ferait presque ce
que je veux? Que je puisse l'adapter ensuite.

Merci d'avance.
--
Serveurs infogérés:
http://www.infogerance.us/infogerance/packs-serveurs-infogeres

10 réponses

1 2
Avatar
Pascal PONCET
Rakotomandimby (R12y) Mihamina a écrit :
Un début de piste, mais qui ne fait pas encore tout ce dont j'ai besoin:
http://www.mredkj.com/tutorials/tutorial005.html



Attention, fin de piste à 2m, atterrissage forcé ! ;-)
http://www.mredkj.com/tutorials/tutorial_mixed2b.html

Sans rancune,
Pascal
Avatar
SAM
Le 10/29/08 7:58 PM, Rakotomandimby (R12y) Mihamina a écrit :
Bonjour,
J'essaie d'avoir deux <select></select> (un à gauche l'autre à droite)
avec au milieu des deux, deux boutons: un vers la gauche, un vers la
droite.

Le but est de faire passer les options selectionnées de l'un vers
l'autre, au moyen des boutons qu'il y a au milieu.

Un début de piste, mais qui ne fait pas encore tout ce dont j'ai besoin:
http://www.mredkj.com/tutorials/tutorial005.html



et ?
tu ne sais en faire un résumé ?

<script type="text/javascript">
function moveOpt(select1,select2) {
var S1 = document.getElementById(select1);
S1 = S1.options[S1.selectedIndex];
var S2 = document.getElementById(select2);
S2.appendChild(S1);
}
</script>
<form>
<select id="s_1" name="s_1"
onclick="alert(this.options[this.selectedIndex].value);">
<option value="1">01
<option value="2">02
<option value="3">03
<option value="4">04
<option value="5">05
</select>
<button onclick="moveOpt('s_1','s_2');
return false;"> >> </button>
<button onclick="moveOpt('s_2','s_1');
return false;"> &lt;&lt; </button>
<select id="s_2" name="s_2"
onclick="alert(this.options[this.selectedIndex].value);">
<option value="6">06
</select>
</form>

--
sm
Avatar
Mihamina Rakotomandimby
Pascal PONCET wrote:
Un début de piste, mais qui ne fait pas encore tout ce dont j'ai besoin:
http://www.mredkj.com/tutorials/tutorial005.html


Attention, fin de piste à 2m, atterrissage forcé ! ;-)
http://www.mredkj.com/tutorials/tutorial_mixed2b.html



Arf...

Sans rancune,



Pas de raison d'en avoir.
Avatar
Mihamina Rakotomandimby
SAM wrote:
Le but est de faire passer les options selectionnées de l'un vers
l'autre, au moyen des boutons qu'il y a au milieu.
Un début de piste, mais qui ne fait pas encore tout ce dont j'ai besoin:
http://www.mredkj.com/tutorials/tutorial005.html


et ?
tu ne sais en faire un résumé ?



Du calme.
Je demandais des liens (mais j'ai peut-être ma question) qui font ce que
je veux dans le but d'en faire une synthèse.
En comparant plusieurs exemples, je peux choisir et adapter plus
facilement. Il ne me suffit pas que d'un exemple qui fonctionne.

Ceci dit, puisqu'on est là, est-ce que tu aurais le petit nom de cette
pratique? Histoire que puisse mieux trouver et eventuellement donner le
bon titre à mon article quand j'en ferais un tutoriel (plus tard).
Avatar
newdb
Mihamina Rakotomandimby wrote:
Ceci dit, puisqu'on est là, est-ce que tu aurais le petit nom de cette
pratique?



option transfert



voir (on en pense ce qu'on en veut hein...) :

<http://www.mattkruse.com/javascript/optiontransfer/>

ainsi que toute sa «JavascriptToolbox» (l'ancienne et la nouvelle)

--
@@@@@
E -00 comme on est very beaux dis !
' `) /
|_ =="
Avatar
SAM
Le 10/30/08 8:26 AM, Mihamina Rakotomandimby a écrit :
SAM wrote:
Le but est de faire passer les options selectionnées de l'un vers
l'autre, au moyen des boutons qu'il y a au milieu.
Un début de piste, mais qui ne fait pas encore tout ce dont j'ai besoin:
http://www.mredkj.com/tutorials/tutorial005.html


et ?
tu ne sais en faire un résumé ?



Du calme.
Je demandais des liens (mais j'ai peut-être ma question) qui font ce que
je veux dans le but d'en faire une synthèse.



Alors je n'ai pas compris la question.
Et donc, réponse : non.


En comparant plusieurs exemples, je peux choisir et adapter plus
facilement. Il ne me suffit pas que d'un exemple qui fonctionne.



celui donné est semi-dom(*) et bien entendu compris que par les
navigateurs qui savent ce qu'est le DOM (exit NC4 par exemple)


(*) utilise des références et des moyens liés au DOM pour déplacer des
balises qui traditionnellement ne se manipulent pas comme ça, et
nécessite d'attribuer un id à chaque select.

--
sm
Avatar
Rakotomandimby (R12y) Mihamina
SAM wrote:
nécessite d'attribuer un id à chaque select.



Puisqu'il n'y en a que deux (et non un nombre variable) dans ce
mécanisme, ça me semble une contrepartie acceptable.

Mais... Pourquoi dis-tu que ces éléments ne se déplacent pas comme ça?
Quel meilleur moyen de déplacer des balises que la manipulation des
noeuds? A par innerHTML (qui me semble vraiment inadapté à la
situation), je n'ai rien d'autre en tete qui puisse convenir.

--
Serveurs infogérés:
http://www.infogerance.us/infogerance/packs-serveurs-infogeres
Avatar
Pascal PONCET
Rakotomandimby (R12y) Mihamina a écrit :
Quel meilleur moyen de déplacer des balises que la manipulation des
noeuds? A par innerHTML (qui me semble vraiment inadapté à la
situation), je n'ai rien d'autre en tete qui puisse convenir.



Sans doute l'utilisation des méthodes "add()" et "remove()" de l'objet
"select" d'un formulaire.

Cela fait partie de ce que l'on appelle vulgairement aujourd'hui le
DOM-0, ou DOM originel, par analogie aux DOM-1 et 2 qui ont suivis et
qui traitent globalement et uniformément l'arbre HTML.

C'est vrai que ça a le mérite de fonctionner sur toutes les versions de
navigateur actuellement en usage (en supposant que plus personne
n'utilise Mosaic ou Lynx ! ;-) ).

Pascal
Avatar
SAM
Le 10/30/08 6:21 PM, Rakotomandimby (R12y) Mihamina a écrit :
SAM wrote:
nécessite d'attribuer un id à chaque select.



Puisqu'il n'y en a que deux (et non un nombre variable) dans ce
mécanisme, ça me semble une contrepartie acceptable.

Mais... Pourquoi dis-tu que ces éléments ne se déplacent pas comme ça?



Tu n'as donc pas bien regardé les liens et les fonctions y proposées.
(me semble-ce ?)

Voici une variante laborieuse basée sur l'arbre des forms qui n'emploie
pas les ids et qui devrait convenir à NC4 et fonctionne avec Fx et IE :
(au passage on réordonne les listes)


<script type="text/javascript">

function moveOpt(n1, n2) {
var s1 = document.forms[0].elements[n1];
var s2 = document.forms[0].elements[n2];
var a1 = [];
var a2 = [];
var arr = function(s) {
var temp = []
for(var i=0, n=s.options.length; i<n; i++)
temp[i] = [s.options[i].text, s.options[i].value];
return temp;
}
a1 = arr(s1);
a2 = arr(s2);
var k = s1.selectedIndex;
var o = [s1.options[k].text, s1.options[k].value];
a2.push(o);
a2.sort();
while(k<a1.length-1) {
a1[k] = a1[k+1];
k++;
}
a1.length = a1.length-1;
a1.sort();
var opt = function(s, a) {
s.length = 0;
for(var i=0, n=a.length; i<n; i++)
s.options[i] = new Option(a[i][0], a[i][1]);
}
opt(s1, a1);
opt(s2, a2);
}
</script>
<form>
<select name="s_1" size=8
onclick="alert(this.options[this.selectedIndex].value);">
<option value="1">01
<option value="2">02
<option value="3">03
<option value="4">04
<option value="5">05
</select>
<button onclick="moveOpt('s_1','s_2');
return false;"> >> </button>
<button onclick="moveOpt('s_2','s_1');
return false;"> &lt;&lt; </button>
<select name="s_2" size=8
onclick="alert(this.options[this.selectedIndex].value);">
<option value="6">06
</select>
</form>


Je te laisse créer les commentaires pour ton tutoriel ;-)

Quel meilleur moyen de déplacer des balises que la manipulation des
noeuds? A par innerHTML (qui me semble vraiment inadapté à la
situation), je n'ai rien d'autre en tete qui puisse convenir.



à mon idée ce sont +/- des noeuds, mais je peux me tromper.

--
sm
Avatar
Rakotomandimby (R12y) Mihamina
SAM wrote:
Je te laisse créer les commentaires pour ton tutoriel ;-)



C'est pas encore pour tout de suite...

--
Serveurs infogérés:
http://www.infogerance.us/infogerance/packs-serveurs-infogeres
1 2