Bonjour à tous.
J'ai deux petites questions. Tout d'abord, comment compare-t-on proprement 2 chaines de caractères en Javascript, afin de les classer par ordre alphabétique ? J'utilise l'opérateur ">", mais je doute que ce soit une bonne idée.
Ensuite, j'ai deux SELECT et j'aimerais faire passer des OPTION de l'un à l'autre. Pour cela, j'ai donc la fonction suivante  
Code :
 - function switchSelect(from, to, sort) {
 -   var el_from = gId(from);
 -   var el_to = gId(to);
 -   var is_moved = false;
 -   if (el_from.selectedIndex !== -1){
 -     // récupération du noeud à déplacer
 -     var node = el_from[el_from.selectedIndex]
 -     var rem_node = el_from.removeChild(node);
 -     // ajout du noeud à destination
 -     if (sort) { //on replace le noeud à sa place, alphabetiquement parlant
 -       var children = el_to.getElementsByTagName('option');
 -       if (children.length > 0) {
 -         for (var i = 0, len = children.length; i < len; i++) {
 -           if (children[i].innerHTML > rem_node.innerHTML) {
 -             el_to.insertBefore(rem_node, children[i]);
 -             is_moved = true;
 -             break;
 -           }
 -         }
 -       }
 -     }
 -     if (!is_moved) {
 -       el_to.appendChild(rem_node);
 -     }
 -   }
 -   return false;
 - }
 
  | 
Je trouve mon traitement *un peu* lourd. Vous auriez des idées d'amélioration ?
 
Merci d'avance
 
Message édité par Pato el canardo le 20-04-2007 à 15:45:27