Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ajouter une ligne a un tableau dynamique

avec des id dynamique

    26 mai 2011 à 8:22:18

    Bonjour tout le monde,

    Voila mon problème, j'ai un tableau avec des menus déroulants dynamique ( le choix de la 3émle cellule découle du choix des deux premières ), et je voudrai rajouter une ligne a ce tableau, hors je ne sais pas comment faire pour dynamiser les id de chaque cellules ...

    j'éspère avoir était asser clair .Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      26 mai 2011 à 11:10:49

      Peux tu nous expliquer un peu plus en détail avec du code stp ?
      • Partager sur Facebook
      • Partager sur Twitter
        26 mai 2011 à 13:06:56

        Mon problème vien de changer, j'arrive a rajouter une ligne, a suprimer celle que je veut mais, mes rows ne ce remplace pas ( si je suprime la ligne 2 la ligne 3 reste la numéro 3 et ne devien donc pas la 2 )


        code:


        function addRowToTableER(){

        //document.getElementById('nbrItems').value = parseInt(document.getElementById('nbrItems').value) + 1;
        var tbl = document.getElementById('idTableau');
        var lastRow = tbl.rows.length;
        // if there's no header row in the table, then iteration = lastRow + 1
        var iteration = lastRow-1;
        var row = tbl.insertRow(lastRow);
        var indexcell = 0;

        // Receipt# cell
        var cellItem= row.insertCell(indexcell);
        var el = document.createElement('input');
        el.id='idSel'+iteration
        el.name='sel'+iteration
        el.type = 'button';
        var value = iteration+1;
        alert("nb rows : "+ tbl.rows.length);
        //alert("value : "+ value);
        for(var k=0;k<tbl.rows.length-2;k++){
        var wcode = "idSel"+k;
        //alert("wcode : "+ wcode);
        if(document.getElementById(wcode).value=="0")
        value --;
        }
        for(var k=0;k<tbl.rows.length-2;k++){
        var wcode = "idSel"+k;
        //alert("wcode1 : "+ wcode);
        if(document.getElementById(wcode).value==value)
        value ++;
        }
        el.onclick = function suppr_row(){
        return delete_Row(iteration);
        }
        el.value= value;
        cellItem.appendChild(el);
        indexcell++;

        // Code cell
        var cellCode = row.insertCell(indexcell);
        var el = document.createElement('input');
        el.id='idCode'+iteration
        el.name='code'+iteration
        el.type = 'text';
        el.size=7;
        el.value= value;
        cellCode.appendChild(el);
        indexcell++;

        window.scrollBy(0,44);
        }

        function removeRowFromTableER(){
        //document.getElementById('nbrItems').value = parseInt(document.getElementById('nbrItems').value) - 1;
        var tbl = document.getElementById('idTableau');
        var lastRow = tbl.rows.length;
        if (lastRow > 2) tbl.deleteRow(lastRow - 1);
        if(lastRow!=2){
        /* var height = document.getElementById("newPO").style.height;
        height = height.substr(0,height.length-2);
        height= parseInt(height)-50;
        document.body.style.height=height+"px";
        document.getElementById("newPO").style.height=height+"px";*/
        window.scrollBy(0,-44);
        }
        else{
        //window.scrollTo(0,0);
        }
        }
        function delete_Row(r){
        alert("r : "+r);
        document.getElementById('idTableau').deleteRow(r);
        }

        </script>

        </head>

        <body>

        <table id="idTableau" name="tableau" border="1" height="80" bordercolor="#993399" cellspacing="3" align="center">
        <tr bgcolor="#99CCCC"> <td>Sel</td>
        <td width="44" height="24" >
        <div align="center">Code</div></td>
        </tr>
        <tr>
        <td><input name="sel0" type="button" id="idSel0" value="0" onclick="delete_Row();" /></td>
        <td width="44" height="42"><input type="text" name="code0" id="idCode0" value="0" size="7"></td>
        </tr>
        </table>

        <input border="1" type="button" value=" + " onClick="addRowToTableER();" />
        <input type="button" value=" - " onClick="removeRowFromTableER();" />
        • Partager sur Facebook
        • Partager sur Twitter
          26 mai 2011 à 13:55:45

          C'est normal que ça change pas, dans ta fonction delete_Row tu supprimes la ligne mais tu fais pas les modifications de la ligne supérieure...
          • Partager sur Facebook
          • Partager sur Twitter
            26 mai 2011 à 13:58:42

            Et je fait la modif comment ? .... :s
            • Partager sur Facebook
            • Partager sur Twitter
              26 mai 2011 à 14:03:14

              Je vais pas faire le code, mais je peux te donner l’algorithme littérale :

              Je supprime la ligne, ensuite, tous les éléments supérieurs à "r", je retire de l'élément permettant l'indexage, 1.
              • Partager sur Facebook
              • Partager sur Twitter
                26 mai 2011 à 14:09:43

                Merci, je vai essayer de comprendre et de faire sa ^^





                Bon bin je m'arrache les cheuveux ...
                • Partager sur Facebook
                • Partager sur Twitter

                Ajouter une ligne a un tableau dynamique

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown