Advertisement
fcamuso

Corso recupero jacascript lezione 17

Jan 1st, 2025
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <!-- NOTA: tutti gli elementi dell'interfaccia dovranno essere inseriti
  3. dinamicamente via codice alla partenza della pagina.
  4.  
  5. Alla partenza la pagina deve presentare l'interfaccia minima necessaria
  6. a creare una tabella; una prima drop down list consente di scegliere un
  7. valore tra 1 e 100 (il numero delle righe che dovra avere la tabella);
  8. l'altra un valore da 1 a 20 (il numero delle colonne);
  9. la creazione della tabella avverrà facendo click su un bottone. -->
  10.  
  11. <html lang="en">
  12. <head>
  13.  <meta charset="UTF-8">
  14.  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  15.  <title>Document</title>
  16.  
  17.  <style>
  18.    table {border-collapse: collapse;}
  19.    tr, td {border: solid blue 2px;}
  20.    td {width: 100px; height: 30px;}
  21.  </style>
  22. </head>
  23. <body>
  24.  <script>
  25.  
  26.    function generaSelect(num_righe)
  27.    {
  28.      let drop = document.createElement("select");
  29.  
  30.      for (let r=1; r<=num_righe; r++)
  31.      { let opzione = document.createElement("option");
  32.        opzione.setAttribute("value", r);
  33.        opzione.innerText = r;
  34.        drop.insertAdjacentElement("beforeEnd", opzione);
  35.      }
  36.      return drop;
  37.    }
  38.  
  39.    //generazione delle due drop downlist
  40.    const num_righe = 100, num_colonne=20;
  41.  
  42.    let drop1 = generaSelect(num_righe);
  43.    let drop2 = generaSelect(num_colonne);
  44.  
  45.    document.body.insertAdjacentElement("beforeEnd", drop1 );
  46.    document.body.insertAdjacentElement("beforeend", drop2);
  47.    
  48.    //generazione del bottone
  49.    let bottone = document.createElement("button");
  50.    bottone.innerText = "GENERA TABELLA";
  51.    document.body.insertAdjacentElement("beforeEnd", bottone);
  52.  
  53.    //let tabella = null;
  54.  
  55.    bottone.addEventListener("click", function() {
  56.      
  57.    let vecchia_tabella = document.querySelector("table");
  58.    if (vecchia_tabella!==null)  vecchia_tabella.remove();
  59.      
  60.    let tabella = document.createElement("table");
  61.    
  62.     let quante_righe = parseInt(drop1.value); //prima drop down
  63.     let quante_colonne = parseInt(drop2.value); //seconda drop down
  64.  
  65.     for (let r=0; r<quante_righe; r++)
  66.     {
  67.       let tr = document.createElement("tr");
  68.  
  69.       for (let c=0; c<quante_colonne; c++)
  70.       {
  71.         let td = document.createElement("td");
  72.         tr.appendChild(td)
  73.       }
  74.  
  75.       tabella.appendChild(tr);      
  76.     }
  77.     document.body.insertAdjacentElement("beforeEnd", tabella);
  78.  
  79.     })
  80.  </script>
  81. </body>
  82. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement