begin process at 2012 05 30 05:00:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Supprimer la dernière option de plusieurs select en même temps


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Supprimer la dernière option de plusieurs select en même temps

vendredi 4 janvier 2008 à 15:50:24 | Supprimer la dernière option de plusieurs select en même temps

nephanddi

Bonjour,
cela fait 2 jours que je planche sur la question et je n'arrive toujours pas correctement à mes fins. J'espère que quelqu'un ici pourra m'aider.

Voici donc mon problème :
J'ai un formulaire dans un tableau, avec la structure suivante
form
La croix appelle une fonction javascript supprimant la ligne correspondant, et réattribuant des ID et Name corrects aux éléments suivants du formulaire. Aucun problème jusque là.
Par contre, quand je souhaite modifier mon select correspondant à la position afin de disposer du bon compte de lignes et que l'option selectionnée corresponde au numéro de ligne, j'ai quelques problèmes.

Voici la partie de code que j'utilise et qui me pose problème :
..
var pos_to_try=1;
while(pos_to_try<=nb_maxligne)
var elSel = document.getElementById('SelectPosition'+pos_to_try);
if (elSel.length > 0)
{
elSel.remove(elSel.length - 1);
}
pos_to_try = pos_to_try+1;
}
..
la variable nb_maxligne contient le nombre total de lignes dans mon formulaire. Mes select de position ont les ID SelectPosition1 -> SelectPosition4 (selon le screen, mais peut varier de 1 à infini)

mais ce code ne fonctionne pas toujours correctement chez moi. Suivant le nombre de lignes dans mon formulaire, et suivant la ligne que je souhaite supprimer, la boucle passera plusieurs fois dans le même select et me supprimera 2 entrées au lieu d'une, et ne passera pas du tout dans le dernier select du formulaire pour supprimer une entrée.

Je suis un peu largué par la situation, et n'étant pas un expert javascript, j'ai dépassé les limites de mes connaissances pour ce cas précis.
Si quelqu'un peu m'aider, non seulement ça m'arrangerait énormément, mais en plus je lui en serait très reconnaissant.

Merci par avance

(ps: j'espère avoir été clair dans mes explications et avoir donné toutes les informations nécessaires. Sinon je complèterai en cas de demande)
vendredi 4 janvier 2008 à 18:03:23 | Re : Supprimer la dernière option de plusieurs select en même temps

bultez

Membre Club


Bonjour,

    ton formulaire n'est pas visible !
    un copié/collé avec un éditeur de texte, sinon ....


>>Suivant le nombre de lignes dans mon formulaire, et suivant la ligne que je souhaite supprimer

    en fait tu veux supprimer une ligne dans un select ?

        id du select.remove(n° de la ligne, ça commence à 0)

    tu veux ne conserver que les n 1ères lignes ?
        id du select.length=nbr lignes à conserver

    ou quoi ?



                Cordialement            Bul         «mon Site»     «M'écrire»
vendredi 4 janvier 2008 à 19:42:11 | Re : Supprimer la dernière option de plusieurs select en même temps

nephanddi

Alors.. en fait, si j'ai mon formulaire qui contient 6 lignes, j'aurais mes 6 select qui contiendront les options 1 à 6, avec l'option correspondante au numéro de ligne qui sera sélectionnée. Maintenant, selon l'example, je décide de supprimer la ligne 2. je souhaite modifier mes 5 select restants en supprimant la dernière entrée (6) puisque je n'ai plus de ligne 6 dans mon tableau. J'espère que c'est un peu plus clair.. j'ai bien pensé avoir été un peu abstrait dans ma description de tout à l'heure
samedi 5 janvier 2008 à 10:19:11 | Re : Supprimer la dernière option de plusieurs select en même temps

bultez

Membre Club
Réponse acceptée !

curieux de supprimer la dernière quelle que soit la ligne sélectionnée ?


ch'tit exemple, qui supprime soit la derniére soit celle sélectionnée
dans le 1er select


<body>
<select id="toto1" size=5>
<option>1
<option>2
<option>3
<option>4
</select>

<select id="toto2" size=5>
<option>1
<option>2
<option>3
<option>4
</select>

<select id="toto3" size=5>
<option>1
<option>2
<option>3
<option>4
</select>

<script type="text/javascript">
    function derniere()
    {   var sel=1;
        while ( document.getElementById("toto"+sel) )
        {   document.getElementById("toto"+sel).length--;
            sel++;
        }
    }
    function lameme()
    {    if ( document.getElementById("toto1").selectedIndex>=0 )
        {   var sel=3;
            while ( document.getElementById("toto"+sel) )
            {    document.getElementById("toto"+sel).remove(document.getElementById("toto1").selectedIndex);
                sel--;
            }
        }
    }
</script>

<input type="button"    onclick="derniere();" value="dernière" />
<input type="button"    onclick="lameme();"   value="ligne sélectionnée" />
</body>






                Cordialement            Bul         «mon Site»     «M'écrire»
samedi 5 janvier 2008 à 15:36:19 | Re : Supprimer la dernière option de plusieurs select en même temps

nephanddi

La fonction derniere() fait exactement ce que j'ai besoin Merci J'avais pas pensé à faire un length-- à la place du remove.
samedi 5 janvier 2008 à 16:50:03 | Re : Supprimer la dernière option de plusieurs select en même temps

PetoleTeam

Membre Club
Bonjour à vous

On ne peut que s'incliner devant l'exemple ô combien pédagogique de The Bultez. Néanmoins...

Le javascript, très permissif, est un des rares langages autorisant la lecture et écriture de la longueur d'un tableau.
Je prefère pour ma part utiliser, quand cela est simple à mettre en oeuvre le remove, qui est de surcroît tout à fait jouable dans ton cas.

Ton problème me semble plutôt venir de ton approche !...

Testes ta fonction dans l'exemple de The Bultez, elle marche
//------------------------
function delete_derniere(){
  var pos_to_try = 1;
  var nb_maxligne = 3;  // pour l'exemple
  while( pos_to_try <= nb_maxligne){
    var elSel = document.getElementById('toto'+pos_to_try);
    if( elSel.length > 0){
      elSel.remove( elSel.length -1);
    }
    pos_to_try ++;
  }
}

Le principal reste que cela fonctionne...
;0)


Cette discussion est classée dans : formulaire, supprimer, select, to, pos


Répondre à ce message

Sujets en rapport avec ce message

probl de formulaire [ par gregsae ] salut j'ai un probl dans mon formulaire.j'ai un champs select qui propose soit :-particulier soit professionnelle select marche il m'affiche bien le index d'un select dans un formulaire [ par astridette ] Bonjour,j'ai un page html avec un tableau dans lequel sont présents plusieurs select. Ce tableau est contruit dynamiquement avec un ajouter ligne et u utilisation de select sans bouton submit [ par leon988 ] Bonjour, <p class="MsoNormal" style="MA valeurs de formulaire 'select' dynamique [ par DarkTiteuf ] Voila bonsoir j'ai le cas suivant : et je voudrais que lorsque je clique sur une valeur a gauche cela change le tableau de droite. La propriété onch ouverture popup par un formulaire [ par lamine11 ] salut à tous , Je veux ouvrir un popup à partir d'un formulaire contenant un select , regradez le portion suivantes : echo "";<br / création d'un imput text générer par un select dynamique (PHP+SQL) dans un formulaire [ par Ullir ] J'ai de gros problemes de surchauffe de matiere grise !!! Débutant en code PHP, je mélange quelques codes ( html - javascript - php - sql création d'un imput text générer par un select dynamique (PHP+SQL) dans un formulaire [ par Ullir ] J'ai de gros problemes de surchauffe de matiere grise !!! Débutant dans les langages informatiques, je mélange quelques codes ( html - javasc Select qui submit le formulaire quand on sélectionne une des options [ par Diabolus ] Salut tout le monde,Je voudrais faire un sélect dans un formulaire qui permettrait de valider le formulaire sans devoir utiliser un bouton. Dès que l' selects dynamique?? [ par newlc ] bonjour,j'ai deux "select" avec les mêmes infos (d'une requete sql) mais pas les mêmes "value"quand je choisi une chose dans le premier select , je vo Recuperer toute les valeurs d'un formulaire select [ par laurent19 ] Bonjour à tous,Voila, j'ai une petite question :Sauriez vous comment récupérer toutes les valeurs d'un formulaire select??Je bloque en effet sur une f


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales