Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Creare una tabella dinamicamente

    Ciao sto ercando di creare delle righe all'interno di un tbody
    il pezzo java e' questo

    function SetTravelDetail(Data_Travel_Detail) {
    document.getElementById("Rda_Travel_Row").style.vi sibility="visible";
    TravelDetailBox = document.getElementById("Rda_Travel_Row_Tbody");
    if (Data_Travel_Detail != "") {
    var tr = document.createElement("tr");
    var td = document.createElement("td");
    var arrData_Travel_Detail = Data_Travel_Detail.split(",");
    for(i = 0; i < arrData_Travel_Detail.length; i++) {
    tr.appendChild(td);
    var text = document.createTextNode(arrData_Travel_Detail[i]);
    td.appendChild(text);
    if(i % 11 == 0) {
    TravelDetailBox.appendChild(tr);
    }
    }
    }
    }


    sembra pero che venga creato un td unico!!

    cosa sbaglio?

    ciao
    www.meteowebcam.it
    La migliore raccolta di webcam meteo Italiane

    www.creazionigrafiche.com
    Grafica e siti web d'autore

  2. #2
    Nel tuo ciclo for stai continuando a modificare, step dopo step, sempre lo stesso td e tr. Al td appendi di volta in volta del testo, il td lo appendi al tr (che non cambia mai) e quest'ultimo lo appendi al tbody. Dopo la prima append, quelle successive vengono scartate dato che il tr è già nel tbody.

    Bisogna creare di volta in volta le istanze di questi nodi, ad esempio:

    codice:
    <html>
      <script>
        function SetTravelDetail_1(Data_Travel_Detail) {
          document.getElementById("Rda_Travel_Row").style.visibility="visible";
          TravelDetailBox = document.getElementById("Rda_Travel_Row_Tbody");
          if (Data_Travel_Detail != "") {		
            var arrData_Travel_Detail = Data_Travel_Detail.split(",");
    	var bulkSize = 3;
            for(var i = 0; i < arrData_Travel_Detail.length; i += bulkSize) {
              var tr = document.createElement("tr");
              for(var j = 0; j < bulkSize; j++) {
                if(arrData_Travel_Detail[i+j] != null) {
                  var td = document.createElement("td");
                  var text = document.createTextNode(arrData_Travel_Detail[i+j]);
                  td.appendChild(text);
                  tr.appendChild(td);						
                }
              }
              TravelDetailBox.appendChild(tr);
            }
          }
        }
    
        function loadTravelData() {
          SetTravelDetail_1("elem1,elem2,elem3,elem4,elem5,elem6,elem7,elem8,elem9,elem10");
        }
    	
      </script>
    
      <body onload="loadTravelData()">    
        <table id="Rda_Travel_Row">
          <tbody id="Rda_Travel_Row_Tbody">
    				
          </tbody>
        </table>
      </body>
    </html>
    Qui ad esempio ne carico 3 alla volta per ogni riga. Nota che ogni riga ha un tr dedicato e ogni cella un td dedicato (come è logico che sia).


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.