Réorganiser options dans un select avec la souris

SammyWarez007 Messages postés 1 Date d'inscription dimanche 30 novembre 2003 Statut Membre Dernière intervention 24 août 2005 - 24 août 2005 à 18:57
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 25 août 2005 à 06:56
J'ai créé une liste SELECT contenant des OPTIONS. J'ai des boutons à coté de la liste qui me servent à faire monter ou descendre l'élément sélectionné. Le fonctionnement est correct et tout marche bien, sauf que dû au fait que la liste peut être très très longue, et qu'on doit pouvoir réorganiser facilement et rapidement, il faudrait que l'on puisse les réorgasniser avec la souris.

J'explique le fonctionnement voulu plus en détails :
Lorsque je sélectionne un élément, je continue à peser sur le bouton de la souris, et je commence à monter (ou descendre) et l'élément suis le curseur de la souris, donc, si je monte, il va se positionner à la place de l'élément au dessus de lui, et l'autre (celui du dessus), vient prendre sa place. L'élément doit être physiquement déplacé dans la liste à mesure que le curseur monte et on doit voir en temps réel les éléments se repositionner. Lorsqu'on relâche le curseur, il ne faut plus que les éléments bougent.

J'ai cherché beaucoup et je ne trouve pas, quelqu'un a une bonne idée à suggérer ?

Samuel Rousseau Boissonneault
Programmeur-Analyste
A voir également:

1 réponse

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 août 2005 à 06:56
bonjour,
pas sûr que l'on puisse traiter,
en javascript, sur un select, l'appui
et le relachement de la souris.
proposition d'une autre solution ?
1er click => mémoriser,
2ème click => échanger
un ch'tit exemple ?

<HTML>
<HEAD>
<TITLE></TITLE>
<style>
option { background-color:#FFCC99; }
</style>
<script type="text/javascript">
var mem=-1;
function mm(sel)
{
if ( mem<0 )
{ mem=sel.selectedIndex;
sel[sel.selectedIndex].style.backgroundColor="#FF6A22";
sel.selectedIndex=-1; }
else { var t=sel[sel.selectedIndex].text
sel[sel.selectedIndex].text=sel[mem].text;
sel[mem].style.backgroundColor="#FFCC99";
sel[mem].text=t;
mem=-1; }
}
</script>
</HEAD>

<select name="Liste"
size=5
onchange="mm(this);">
<optgroup label="Exemple">
<option>un</option>
<option>deux</option>
<option>trois</option>
<option>quatre</option>
</optgroup>

</HTML>
0
Rejoignez-nous