Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- window.onload = createButtonAndSum;
- function createButtonAndSum(){
- var btn = document.createElement("BUTTON");
- var t = document.createTextNode("Beräkna summa");
- btn.appendChild(t);
- document.getElementById("content").appendChild(btn);
- createSumCells();
- createSumRow();
- btn.onclick = calculateSum;
- }
- function createSumRow(){
- var pricetbl = document.getElementById("pricetable");
- var sumRow = pricetbl.insertRow(-1);
- sumRow.setAttribute('id','sumrow');
- for (var i = 0; i < 6; i++) {
- sumRow.insertCell(i);
- }
- }
- function createSumCells() {
- var th = document.createElement("th");
- th.appendChild(document.createTextNode("Summa"));
- th.setAttribute('id', 'summa');
- var pricetbl = document.getElementById("pricetable");
- var rows = pricetbl.getElementsByTagName("tr");
- pricetbl.tHead.rows[0].appendChild(th)
- for (var i = 1; i < rows.length; i++) {
- var tableCells = rows[i].getElementsByTagName("td");
- tableCells = rows[i].insertCell(-1).setAttribute('id', 'sumcells');
- }
- }
- //Funktionen som skapar tabell-tillägget och fyller dem med värden.
- function calculateSum() {
- var pricetbl = document.getElementById("pricetable");
- var rows = pricetbl.getElementsByTagName("tr");
- var totalSum = 0;
- var totalNumber = 0;
- //Kontrollerar ifall sumrow är null eller ej.
- //Om sumrow inte är null, så tar den bort raden, samt tabellhuvud "summa".
- //Detta för att kunna ladda in nya data.
- //Detta går GARANTERAT att lösa på ett snyggare sätt... ... ...
- var sumRow = document.getElementById("sumrow");
- if (sumRow != null){
- pricetbl.rows[0].deleteCell(-1);
- pricetbl.deleteRow(-1);
- }
- for (var i = 1; i < rows.length ; i++) {
- var tableCells = rows[i].getElementsByTagName("td");
- var price = prices(tableCells);
- var amount = amounts(tableCells);
- tableCells = rows[i].cells[5].innerHTML = (price * amount);
- var totalNumber = totalNumber + parseInt(amount);
- var totalSum = totalSum + parseInt(price * amount);
- }
- //}
- //Skapar summa-raden med de attributen som definieras i CSS-filen för 'sumrow'
- var sumRow = pricetbl.insertRow(-1);
- sumRow.setAttribute('id','sumrow');
- for (var i = 0; i < 6; i++) {
- sumRow.insertCell(i);
- }
- //skapar tabellhuvudet Summa.
- var th = document.createElement("th");
- th.appendChild(document.createTextNode("Summa"));
- th.setAttribute('id', 'summa');
- pricetbl.tHead.rows[0].appendChild(th);
- //Lägger in totala antalet och totala summan i summaraden sumRow.
- sumRow.cells[4].innerHTML = totalNumber;
- sumRow.cells[5].innerHTML = totalSum;
- }
- //hämtar antalet artiklar
- function amounts (cells)
- {
- for (var i = 1; i < cells.length -1; i++)
- {
- var amount = cells[4].getElementsByTagName("input")[0].value;
- }
- numberOfItems = amount;
- return numberOfItems;
- }
- function prices (cells)
- {
- for (var i = 1; i < cells.length - 1; i++) {
- var price = cells[3].firstChild.nodeValue;
- }
- itemSum = price;
- return itemSum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement