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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  supprimer un element avec removechild() selon la valeur dans un select

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

supprimer un element avec removechild() selon la valeur dans un select

n°1652065
attentio
Posté le 03-12-2007 à 11:28:17  profilanswer
 

Bonjour,
j'ai une fonction qui est censé supprimer une valeur dans un select
j'ai fait ceci ...

Code :
  1. document.getElementById('liste_deroulante').removeChild(document.getElementById('liste_deroulante').options[0]);

... mais ça supprime la premiere valeur de mon select.
comment purrais je faire pour qu'il me supprime l'option qui a pour valeur '02' (uniquement si il existe un option avec cette valeur).
 
Merci de votre aide

mood
Publicité
Posté le 03-12-2007 à 11:28:17  profilanswer
 

n°1652089
SICKofitAL​L
Razoreater
Posté le 03-12-2007 à 11:52:28  profilanswer
 

donc si je résume, si ton options a pour valeur "02" il faut la virer ?

Code :
  1. var options = document.getElementById ("liste_deroulante" ).options;
  2. var i = 0;
  3. while (options[i].value != "02" )
  4.   i++;
  5. options[i].parentNode.removeChild (options[i]);


---------------
"And at the end it is only YOU, ME AND THE VIOLENCE !"
n°1652105
attentio
Posté le 03-12-2007 à 12:13:18  profilanswer
 

super  ... ca marche a merveille !
autre petite question .. la fonction doit faire la même chose (supprimer la valeur 02) sur un autre select, nommé liste_deroulante2
comment dois-je m'y prendre ?
 
merci encore

n°1652118
SICKofitAL​L
Razoreater
Posté le 03-12-2007 à 12:39:00  profilanswer
 

je te mets sur la voie : document.getElementById ("liste_deroulante2" )
super complexe pas vrai ? ;)


---------------
"And at the end it is only YOU, ME AND THE VIOLENCE !"
n°1652126
attentio
Posté le 03-12-2007 à 13:11:55  profilanswer
 

bon ... on se moque pas   :lol:  
j'ai fait ceci ..

Code :
  1. var options2 = document.getElementById ("liste_deroulante2" ).options;
  2. var options = document.getElementById ("liste_deroulante" ).options;
  3. var i = 0;
  4. while (options2[i].value != "101" )
  5.   i++;
  6. options2[i].parentNode.removeChild (options2[i]);
  7. while (options[i].value != "101" )
  8.   i++;
  9. options[i].parentNode.removeChild (options[i]);


 
mais j'ai une erreur losque la valeur 101 n'existe pas
 
merci encore

n°1652129
SICKofitAL​L
Razoreater
Posté le 03-12-2007 à 13:16:57  profilanswer
 

apres le premier while (de la ligne 4), remet la variable i à 0 :)

 
Code :
  1. var options2 = document.getElementById ("liste_deroulante2" ).options;
  2. var options = document.getElementById ("liste_deroulante" ).options;
  3. var i = 0;
  4. while (options2[i].value != "101" )
  5.   i++;
  6. options2[i].parentNode.removeChild (options2[i]);
  7. i = 0; // i DOIT être remis à zéro, sinon on continu à l'incrémenter selon sa valeur précedente ;)
  8. while (options[i].value != "101" )
  9.   i++;
  10. options[i].parentNode.removeChild (options[i]);
 

et je ne moque pas ne t'en fais pas :jap:


Message édité par SICKofitALL le 03-12-2007 à 13:18:46

---------------
"And at the end it is only YOU, ME AND THE VIOLENCE !"
n°1652134
attentio
Posté le 03-12-2007 à 13:33:26  profilanswer
 

Ha oui ... en effet :ange:  
 
mais j'ai toujours une erreur JS lorsque mon select ne comporte pas valeur à 101  
'value' a la valeur null ou n'est pas un objet
 
merci

n°1652137
SICKofitAL​L
Razoreater
Posté le 03-12-2007 à 13:38:50  profilanswer
 

il te sort où cette erreur ?
sur les lignes avec les while ?

 

EDIT:
ah oui c normal en fait, il tente de supprimer l'élement meme s'il a pas trouvé qqch :D
attend je corrige ca :)


Message édité par SICKofitALL le 03-12-2007 à 13:40:24

---------------
"And at the end it is only YOU, ME AND THE VIOLENCE !"
n°1652140
attentio
Posté le 03-12-2007 à 13:43:15  profilanswer
 

oui en effet .. si la valeur 101 n'existe pas dans le select menu_deroulante2.
l'erreur sera sur la ligne while (options2[i].value != "101" )
 
merci encore


Message édité par attentio le 03-12-2007 à 13:44:04
n°1652183
SICKofitAL​L
Razoreater
Posté le 03-12-2007 à 14:20:49  profilanswer
 

Voila ca devrait être plus propre je pense :)
Je t'es mis ca sous forme de fonction

Code :
  1. // value : chaine à chercher
  2. // selectID : ID du select dans lequel chercher "value"
  3. var removeOption = function (value, selectID)
  4. {
  5.   var options = document.getElementById (selectID).options;
  6.   var i = 0;
  7.   var l = options.length;
  8.   while (i < l && options[i].value != value)
  9. i++;
  10.   if (i < l)
  11. options[i].parentNode.removeChild (options[i]);
  12. }
  13. removeOption ("101", "liste_deroulante2" );
  14. removeOption ("101", "liste_deroulante" );


 
Si t'as des questions :hello:


---------------
"And at the end it is only YOU, ME AND THE VIOLENCE !"

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

  supprimer un element avec removechild() selon la valeur dans un select

 

Sujets relatifs
[JS] Ajout auto d'un champ input-text selon valeur d'une listboxSupprimer un .htaccess
Requete SELECT COUNT[JS] supprimer des valeurs dans un select multiple
lire un fichier txt et sauvegarder certaine valeur dans un tableau intPointeur en argument -> obtention de la taille de l'élément pointé?
Changer la valeur d'un cookie[RESOLU] Impossible de SELECT suite au lancement d'une fonction
optimisation du code, tester valeur avant attribution ? 
Plus de sujets relatifs à : supprimer un element avec removechild() selon la valeur dans un select


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