user601367
user601367

Reputation: 2368

Dynamically building table using Javascript

I need to add rows dynamically to a table on a button click event using JavaScript. In addition, the table cells need to contain textboxes.

How can I do this?

Upvotes: 1

Views: 1960

Answers (1)

Manny
Manny

Reputation: 6287

Here's a sample code taken from this source. Suggest you read more about DOM, specifically about DOM tables for this question.

function start() {
    // get the reference for the body
    var body = document.getElementsByTagName("body")[0];

    // creates a <table> element and a <tbody> element
    var tbl     = document.createElement("table");
    var tblBody = document.createElement("tbody");

    // creating all cells
    for (var j = 0; j < 2; j++) {
        // creates a table row
        var row = document.createElement("tr");

        for (var i = 0; i < 2; i++) {
            // Create a <td> element and a text node, make the text
            // node the contents of the <td>, and put the <td> at
            // the end of the table row
            var cell = document.createElement("td");
            var cellText = document.createTextNode("cell is row "+j+", column "+i);
            cell.appendChild(cellText);
            row.appendChild(cell);
        }

        // add the row to the end of the table body
        tblBody.appendChild(row);
    }

    // put the <tbody> in the <table>
    tbl.appendChild(tblBody);
    // appends <table> into <body>
    body.appendChild(tbl);
    // sets the border attribute of tbl to 2;
    tbl.setAttribute("border", "2");
}

Upvotes: 1

Related Questions