Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2242 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Comparaison de Chaine de caractères, déplacement DOM

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparaison de Chaine de caractères, déplacement DOM

n°1545841
Pato el ca​nardo
Posté le 20-04-2007 à 15:44:40  profilanswer
 

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 :
  1. function switchSelect(from, to, sort) {
  2.   var el_from = gId(from);
  3.   var el_to = gId(to);
  4.   var is_moved = false;
  5.   if (el_from.selectedIndex !== -1){
  6.     // récupération du noeud à déplacer
  7.     var node = el_from[el_from.selectedIndex]
  8.     var rem_node = el_from.removeChild(node);
  9.     // ajout du noeud à destination
  10.     if (sort) { //on replace le noeud à sa place, alphabetiquement parlant
  11.       var children = el_to.getElementsByTagName('option');
  12.       if (children.length > 0) {
  13.         for (var i = 0, len = children.length; i < len; i++) {
  14.           if (children[i].innerHTML > rem_node.innerHTML) {
  15.             el_to.insertBefore(rem_node, children[i]);
  16.             is_moved = true;
  17.             break;
  18.           }
  19.         }
  20.       }
  21.     }
  22.     if (!is_moved) {
  23.       el_to.appendChild(rem_node);
  24.     }
  25.   }
  26.   return false;
  27. }


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
mood
Publicité
Posté le 20-04-2007 à 15:44:40  profilanswer
 

n°1546005
Shinuza
This is unexecpected
Posté le 20-04-2007 à 20:11:26  profilanswer
 

J'ai un truc comme ça qui traine dans le coin, je l'utilisais sur des champs select à choix multiples

Code :
  1. function Deplacer(a,b) {
  2. l1 = document.getElementById(a);
  3. l2 = document.getElementById(b);
  4. if (l1.options.selectedIndex>=0) {
  5.   o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
  6.   l2.options[l2.options.length]=o;
  7.   l1.options[l1.options.selectedIndex]=null;
  8.  }else{
  9.   alert("Aucun fichier selectionné" );
  10.  }
  11. }


Il fait passer les options selectionnées d'un select à l'autre dont l'id est passé en paramètre


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Comparaison de Chaine de caractères, déplacement DOM

 

Sujets relatifs
[C] recv: des = pour couper les lignes trop longues :/Problème de protection de caractères
[JS DOM]Tableau créé en DOM, s'affiche sous FF, pas sous IEProblèmes à cause des apostrophes, slashes et autres caractères spécia
Rajouter des éléments à l’aide de chaine de caractère[vbs] [SOLVED!!] Simple remplacement de chaine...
[Win32]GetTextExtentPoint32 ne me donne pas la bonne largeur de chaînebonne pratique pour les jeux de caracteres (ISO 8859-1 / UTF-8 /pspad)
[c] liste simplement chainé==> pb [résolu==> merci]Faire un substring d'une chaine de caractères larges
Plus de sujets relatifs à : Comparaison de Chaine de caractères, déplacement DOM


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR