【问题标题】:How to add headers to my dynamic table ? javascript如何将标题添加到我的动态表? javascript
【发布时间】:2021-11-15 02:26:02
【问题描述】:

此代码向用户询问行数和列数,然后生成所需的表。 但是我想在我的动态表中添加标题但我无法管理它。

"use strict";


// Variable
let creerTableau;
const btn1 = document.getElementById("supprimer");
const btn2 = document.getElementById("modifier");


// Fonction
creerTableau = () => {
    const nombreLignes = prompt("Nombre de lignes ?");
    const nombreColonnes = prompt("Nombre de colonnes ?");

    let theader = '<table id="tableauID" border="1">\n';
    let tbody = '';


    for (var i = 0; i < nombreLignes; i++) { //lines
        tbody += '<tr>\n';

        for (var j = 0; j < nombreColonnes; j++) { //colums
   
            tbody += '<td>';
            tbody += 'Valeur ' + i + ',' + j;
            tbody += '</td>'
        }

        tbody += '<td>';
        tbody += '<button id="modifier">Modifier</button>';
        tbody += '<button id="supprimer">Supprimer</button>';
        tbody += '</td>'
        tbody += '</tr>\n';
        tbody += '</th>';
    }
    
    let tfooter = '</table>';
    document.getElementById('body-div').innerHTML = theader + tbody + tfooter;

}
// Exécution
window.onload = creerTableau();

它是怎样的: tab now

我想要创建的内容: tab with good code

【问题讨论】:

  • Tu devrais renommer tes variables en anglais !
  • 谢谢,je vais peut-être le faire。 Ici c'est dans le cadre d'une Formation et on est tous noobs, donc ce n'est pas hyperimportant。 Mais autant prendre dès maintenant les bonnes pratiques,我猜!

标签: javascript dynamic


【解决方案1】:
"use strict";


// Variable
let creerTableau;
const btn1 = document.getElementById("supprimer");
const btn2 = document.getElementById("modifier");


// Fonction
creerTableau = () => {
    const nombreLignes = prompt("Nombre de lignes ?");
    const nombreColonnes = prompt("Nombre de colonnes ?");

    let theader = '<table id="tableauID" border="1">\n<tr>';
    let tbody = '';


    for (var i = 0; i < nombreLignes; i++) { //lines
        tbody += '<tr>\n';

        for (var j = 0; j < nombreColonnes; j++) { //colums
            if (j == 0) {
                theader += '<th>Entete'+(j+1)+'</th>';
            }
            tbody += '<td>';
            tbody += 'Valeur ' + i + ',' + j;
            tbody += '</td>'
        }

        tbody += '<td>';
        tbody += '<button id="modifier">Modifier</button>';
        tbody += '<button id="supprimer">Supprimer</button>';
        tbody += '</td>'
        tbody += '</tr>\n';
        tbody += '</th>';
    }
    theader += '<th colspan="2">Actions</th></tr>';
    
    let tfooter = '</table>';
    document.getElementById('body-div').innerHTML = theader + tbody + tfooter;

}
// Exécution
window.onload = creerTableau();

【讨论】:

  • 完美,谢谢。我只是从 j+1 更改为 j+i 所以它会自动递增。
【解决方案2】:

用户可以动态输入标题名称。

"use strict";


    // Variable
    let creerTableau;
    const btn1 = document.getElementById("supprimer");
    const btn2 = document.getElementById("modifier");


    // Fonction
    creerTableau = () => {
        const nombreLignes = prompt("Nombre de lignes ?");
        const nombreColonnes = prompt("Nombre de colonnes ?");

        let theader = '<table id="tableauID" border="1">\n';
        let tbody = '';

        tbody += '<tr>\n';
        for (var i = 0; i < nombreColonnes; i++) {
            var headerName = prompt("Enter header name " + (i + 1) + " ?");
            tbody += '<th>';
            tbody += headerName;
            tbody += '</th>'
        }
        tbody += '</tr>\n';



        for (var i = 0; i < nombreLignes; i++) { //lines
            tbody += '<tr>\n';

            for (var j = 0; j < nombreColonnes; j++) { //colums

                tbody += '<td>';
                tbody += 'Valeur ' + i + ',' + j;
                tbody += '</td>'
            }

            tbody += '<td>';
            tbody += '<button id="modifier">Modifier</button>';
            tbody += '<button id="supprimer">Supprimer</button>';
            tbody += '</td>'
            tbody += '</tr>\n';

        }

        let tfooter = '</table>';
        let st = theader + tbody + tfooter;
        document.getElementById('body-div').innerHTML = st;

    }
    // Exécution
    window.onload = creerTableau();

【讨论】:

  • 好主意,但在这种情况下,桌子最好小一点!
  • 是的,表格列不能太大
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
相关资源
最近更新 更多