20
loading...
This website collects cookies to deliver better user experience
<form>
<label>Item</label>
<input type="text" id="newItem">
<label>Amount</label>
<input type="number" id="newAmount">
<button id="addButton" type="button">Add</button>
</form>
<table id="budgetTable">
<thead>
<tr>
<th>Item</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
</tbody>
<tfooter>
<tr>
<td>Total</td>
<td>$1.00</td>
</tr>
</tfooter>
</table>
const renderRow = (data) => {
return `<tr>
<td>${data.item}</td>
<td>$${data.amount}</td>
</tr>`
};
const renderRows = (data) => {
const html = [];
for (let i=0; i<data.length; i++) {
html.push(renderRow(data[i]));
}
return html.join('');
}
const budgetItems = [{
item: 'Car',
amount: 1.00
}]
const addBudgetItem = () => {
const budgetItem = {
item: document.getElementById('newItem').value,
amount: document.getElementById('newAmount').value
}
budgetItems.push(budgetItem);
}
const renderPage = (id) => {
document.getElementById(id).tBodies[0].innerHTML = renderRows(budgetItems);
}
document.addEventListener('DOMContentLoaded', function($ev) {
renderPage('budgetTable');
});
document.getElementById('addButton').addEventListener('click', function($ev) {
addBudgetItem();
renderPage('budgetTable');
});