Page 1 sur 1

En haut de liste...

Posté : 03 mars 2023, 09:36
par Chloe5972
Bonjour à tous

Ma question est la suivante.
J'ai mis en place une "bascule" de valeur d'une liste à l'autre (si vous connaissez le terme technique je suis preneuse :D )

Je souhaite "juste" que la valeur sélectionnée se place en haut de liste et non à la suite les autres...

Voila le code

Code : Tout sélectionner

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
	function Deplacer(l1,l2) {
		if (l1.options.selectedIndex>=0) {
			o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
			l2.options[l2.options.length]=o;
			l1.options[l1.options.selectedIndex]=null;
		}else{
			alert("Aucune OPTION selectionnee");
		}
	}
</SCRIPT>
</HEAD>

<FORM name="formulaire">

	<TABLE><TR>
	<TD align="center"><B><FONT size="2">Options</FONT></B><BR>
	<SELECT align=top name="liste1" size=6  style="width:120px" onClick="Deplacer(this.form.liste1,this.form.liste2)">
		<OPTION value="1">Option 1</OPTION>
		<OPTION value="2">Option 2</OPTION>
		<OPTION value="3">Option 3</OPTION>
		<OPTION value="4">Option 4</OPTION>
		<OPTION value="5">Option 5</OPTION>
	</SELECT>
	</TD>
	<TD align="center">
	<INPUT type="button" value="Ajouter >>>" onClick="Deplacer(this.form.liste1,this.form.liste2)">
	<BR><BR>
	<INPUT type="button" value="<<< Enlever" onClick="Deplacer(this.form.liste2,this.form.liste1)">
	</TD>
	<TD align="center"><FONT size="2"><B>Options retenues</B></FONT><BR>
	<SELECT align=top name="liste2" size=6 style="width:120px" onClick="Deplacer(this.form.liste2,this.form.liste1)">

	</SELECT>
	</TD>
	</TR></TABLE>
</FORM>
et une pièce jointe qui présente le problème
2023-03-03 09_25_11.png
2023-03-03 09_25_11.png (10.49 Kio) Vu 6791 fois
D'avance merci pour votre aide
A plus
Chloe

Re: En haut de liste...

Posté : 04 mars 2023, 18:07
par webmaster
Bonjour

J'ai un peu réfléchi pour trouver une solution

Voici ce que ca donne (avec des commentaires pour expliquer le principe):

Code : Tout sélectionner

function Deplacer(l1,l2) {
    if (l1.options.selectedIndex>=0) {
        o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
        console.log(l2.options[l2.options.length-1])
        let lignes=[]; /* Sauver les lignes */
        for (let i=0; i<l2.options.length; i++) {
            lignes.push(l2.options[i]);
        }
        /* Vider les lignes */
        for (let i=0; i<l2.options.length; i++) {
            l2.options[0]=null;
        }

        /* Recharger les lignes */
        l2.options[0]=o; 
        for (let i=0; i<l2.options.length; i++) {
            l2.options[i+1]=lignes[i];        
        }

        l1.options[l1.options.selectedIndex]=null;
    }else{
        alert("Aucune OPTION selectionnee");
    }
}

Re: En haut de liste...

Posté : 06 mars 2023, 11:23
par Chloe5972
Bonjour

Super merci beaucoup
Ca fonctionne tout comme il faut !!

A plus
Chloe

Re: En haut de liste...

Posté : 10 juil. 2023, 09:15
par lilysmith9896
phoodleMerci pour la réponse.

Re: En haut de liste...

Posté : 29 août 2023, 17:02
par ensurebar
J'ai tellement de chance car c'est exactement ce que je cherchais baldi

Re: En haut de liste...

Posté : 06 nov. 2023, 10:21
par mariahcarey
Super! Merci beaucoup, j'ai résolu mon même problème.wordle

Re: En haut de liste...

Posté : 20 nov. 2023, 08:24
par alicebobby
J'ai beaucoup de chance parce que c'était exactement ce que je cherchais. bitlife

Re: En haut de liste...

Posté : 21 nov. 2023, 03:04
par bulwarkcrime
Je suis reconnaissant pour votre réponse. Le vote ne peut avoir lieu si le lien qui y mène n'est pas à l'intérieur de la même architecture technologique skibidi toilet

Re: En haut de liste...

Posté : 21 nov. 2023, 05:31
par moultingbriefly
Si la fourchette entre le point de bascule et le point idéal constitue la marge d'action du négociateur, la fourchette entre le point de bascule et le point dinosaur game