1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| // Comparer les deux options dans une liste de valeurs
function compareOptionValues(a, b)
{
// Radix 10: pour valeurs numeriques
// Radix 36: pour valeurs alphanumeriques
var sA = parseInt( a.value, 36 );
var sB = parseInt( b.value, 36 );
return sA - sB;
}
// Comparer les deux options dans une liste en TEXTE
function compareOptionText(a, b)
{
// Radix 10: pour valeurs numeriques
// Radix 36: pour valeurs alphanumeriques
var sA = parseInt( a.text, 36 );
var sB = parseInt( b.text, 36 );
return sA - sB;
}
// Fonction Dual list move
function moveDualList( srcList, destList, moveAll )
{
// on fait rien si rien n'est selectionne
if ( ( srcList.selectedIndex == -1 ) && ( moveAll == false ) )
{
return;
}
newDestList = new Array( destList.options.length );
var len = 0;
for( len = 0; len < destList.options.length; len++ )
{
if ( destList.options[ len ] != null )
{
newDestList[ len ] = new Option( destList.options[ len ].text, destList.options[ len ].value, destList.options[ len ].defaultSelected, destList.options[ len ].selected );
}
}
for( var i = 0; i < srcList.options.length; i++ )
{
if ( srcList.options[i] != null && ( srcList.options[i].selected == true || moveAll ) )
{
// Declarations a effectuer si l'option est selectionnee
// Incorporer nouvelle liste
newDestList[ len ] = new Option( srcList.options[i].text, srcList.options[i].value, srcList.options[i].defaultSelected, srcList.options[i].selected );
len++;
}
}
// Trier la nouvelle liste de destination
newDestList.sort( compareOptionValues ); // BY VALUES
//newDestList.sort( compareOptionText ); // BY TEXT
// Populate the destination with the items from the new array
for ( var j = 0; j < newDestList.length; j++ )
{
if ( newDestList[ j ] != null )
{
destList.options[ j ] = newDestList[ j ];
}
}
// On efface de la liste source les elements selectionnes
for( var i = srcList.options.length - 1; i >= 0; i-- )
{
if ( srcList.options[i] != null && ( srcList.options[i].selected == true || moveAll ) )
{
// Erase Source
//srcList.options[i].value = "";
//srcList.options[i].text = "";
srcList.options[i] = null;
}
}
} |
Partager