En haut de liste...

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
Chloe5972
Messages : 2
Enregistré le : 03 mars 2023, 09:21

En haut de liste...

Message par Chloe5972 » 03 mars 2023, 09:36

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 6481 fois
D'avance merci pour votre aide
A plus
Chloe

Avatar du membre
webmaster
Administrateur du site
Messages : 562
Enregistré le : 28 févr. 2017, 15:19

Re: En haut de liste...

Message par webmaster » 04 mars 2023, 18:07

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");
    }
}
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Chloe5972
Messages : 2
Enregistré le : 03 mars 2023, 09:21

Re: En haut de liste...

Message par Chloe5972 » 06 mars 2023, 11:23

Bonjour

Super merci beaucoup
Ca fonctionne tout comme il faut !!

A plus
Chloe

lilysmith9896
Messages : 2
Enregistré le : 10 juil. 2023, 09:12

Re: En haut de liste...

Message par lilysmith9896 » 10 juil. 2023, 09:15

phoodleMerci pour la réponse.

ensurebar
Messages : 1
Enregistré le : 29 août 2023, 16:58

Re: En haut de liste...

Message par ensurebar » 29 août 2023, 17:02

J'ai tellement de chance car c'est exactement ce que je cherchais baldi

mariahcarey
Messages : 1
Enregistré le : 06 nov. 2023, 10:19

Re: En haut de liste...

Message par mariahcarey » 06 nov. 2023, 10:21

Super! Merci beaucoup, j'ai résolu mon même problème.wordle

alicebobby
Messages : 3
Enregistré le : 20 nov. 2023, 08:21

Re: En haut de liste...

Message par alicebobby » 20 nov. 2023, 08:24

J'ai beaucoup de chance parce que c'était exactement ce que je cherchais. bitlife

bulwarkcrime
Messages : 4
Enregistré le : 21 nov. 2023, 02:57

Re: En haut de liste...

Message par bulwarkcrime » 21 nov. 2023, 03:04

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

moultingbriefly
Messages : 2
Enregistré le : 21 nov. 2023, 05:27

Re: En haut de liste...

Message par moultingbriefly » 21 nov. 2023, 05:31

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

izwiuuy354
Messages : 2
Enregistré le : 25 déc. 2023, 05:37

Re: En haut de liste...

Message par izwiuuy354 » 25 déc. 2023, 05:43

Il semble que vous ayez implémenté un mécanisme de bascule de valeurs entre deux listes, et vous souhaitez que la valeur sélectionnée se déplace en haut de la liste plutôt que de s'ajouter à la fin des autres. Si vous cherchez un terme technique pour décrire cette opération, il s'agit souvent de "promouvoir" ou "élever" la valeur sélectionnée. papa's games

Pour mettre en œuvre cela, vous devrez ajuster la logique de votre code. Voici un exemple générique en pseudo-code pour illustrer comment vous pourriez organiser cette opération :

python
Copy code
# Supposons que vous ayez deux listes : liste_source et liste_cible
# et vous avez une valeur sélectionnée (selected_value)

# Vérifiez si la valeur sélectionnée est dans la liste source
if selected_value in liste_source:
# Retirez la valeur de la liste source
liste_source.remove(selected_value)

# Ajoutez la valeur au début de la liste cible
liste_cible.insert(0, selected_value)

# Le reste de votre logique ici...

Répondre