Reputation: 43
How to add button to my HTML table with JS? The table is being created with JS using XML file data.
I have tried adding button where creating the table (between <td></td>
) , however, without any luck.
function loadXMLDoc() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if(this.readyState == 4 && this.status == 200) {
perDetails(this);
}
};
xmlhttp.open("GET", "../xml/data.xml", true);
xmlhttp.send();
}
function perDetails(xml) {
var i;
var xmlDoc = xml.responseXML;
var table =`<tr><th>Title</th><th>Model</th><th>Price(EUR)</th><th>Delivery Time</th>
<th>In Stock</th><th>Button Column</th></tr>`;
var x = xmlDoc.getElementsByTagName("phones");
console.log(x);
// Start to fetch the data by using TagName
for (i = 0; i < x.length; i++) {
let btn = document.createElement("button");
btn.type = "add";
btn.name = "addBtn";
table += "<tr><td>" +
x[i].getElementsByTagName("title")[0]
.childNodes[0].nodeValue + "</td><td>" +
x[i].getElementsByTagName("model")[0]
.childNodes[0].nodeValue + "</td><td>" +
x[i].getElementsByTagName("item_price")[0].childNodes[0].nodeValue
+ "</td><td>" +
x[i].getElementsByTagName("delivery_text")[0].childNodes[0].nodeValue +
"</td><td>" +
x[i].getElementsByTagName("stock")[0].childNodes[0].nodeValue + "</td></tr>";
// Print the xml data in table form
document.getElementById("table").innerHTML = table;
}
}
Upvotes: 1
Views: 246
Reputation: 5677
According to your table head, you should add your button here :
x[i].getElementsByTagName("stock")[0].childNodes[0].nodeValue + "</td>" +
"<td><button type='button'>click me</button></td></tr>";
Upvotes: 2