Forum » Programiranje » Popoln začetnik JavaScripta in programiranja nasploh: seštevanje in izpis
Popoln začetnik JavaScripta in programiranja nasploh: seštevanje in izpis
VelikiZnoj ::
Živjo.
Kot popoln začetnik JavaScripta imam en majhen problem pri seštevanju. Do zdaj imam napisano to kodo, ki sešteje posamične vnose za različna podjetja, zdaj bi moral pa za funkcijo izpis() izračunat še vse vnose za vsako podjetje posebej.
Pri vnosu npr. pri podjetju 1 dam 10EUR, 40EUR, 50EUR in 100EUR, pri podjetju 2 pa recimo 50EUR, 100EUR, 200EUR, 20EUR potem pa pri obeh vse vnose seštet in jih vpisat pod paragraph Sumarni prikaz po firmah.
Problem mi je logika glede na kodo... ne vem, kako se sploh lotit, da bi dobil nek rezultat. Vem, da je bolj izkušenim to precej enostavno in da verjetno ni treba ravno veliko kode napisat, da se zadevo spelje do konca.
Sem vesel kakršnekoli pomoči v povezavi z nalogo! Hvala!
Kot popoln začetnik JavaScripta imam en majhen problem pri seštevanju. Do zdaj imam napisano to kodo, ki sešteje posamične vnose za različna podjetja, zdaj bi moral pa za funkcijo izpis() izračunat še vse vnose za vsako podjetje posebej.
Pri vnosu npr. pri podjetju 1 dam 10EUR, 40EUR, 50EUR in 100EUR, pri podjetju 2 pa recimo 50EUR, 100EUR, 200EUR, 20EUR potem pa pri obeh vse vnose seštet in jih vpisat pod paragraph Sumarni prikaz po firmah.
Problem mi je logika glede na kodo... ne vem, kako se sploh lotit, da bi dobil nek rezultat. Vem, da je bolj izkušenim to precej enostavno in da verjetno ni treba ravno veliko kode napisat, da se zadevo spelje do konca.
Sem vesel kakršnekoli pomoči v povezavi z nalogo! Hvala!
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Spletna stran</title> </head> <body> <h1>Vnos in prikaz dnevnih zaslužkov</h1> <input id = "vpis" type="number"> <select id="izbira"> <option value="podjetjeEna">Podjetje1</option> <option value="podjetjeDve">Podjetje2</option> <option value="podjetjeTri">Podjetje3</option> <option value="podjetjeStiri">Podjetje4</option> </select> <button type="button" onclick="vnos()">Vnos</button> <br> <button type="button" onclick="izpis()">Izpis seštevkov</button> <br> <h2>Podjetja</h2> <p>Podjetje1</p> <p id="pEna"></p> <p>Podjetje2</p> <p id="pDve"></p> <p>Podjetje3</p> <p id="pTri"></p> <p>Podjetje4</p> <p id="pStiri"></p> ------------------------------ <br> <p>Sumarni prikaz po firmah</p> <p>Podjetje1</p> <p id="skupajEna"></p> <p>Podjetje2</p> <p id="skupajDve"></p> <p>Podjetje3</p> <p id="skupajTri"></p> <p>Podjetje4</p> <p id="skupajStiri"></p> <br> ------------------------------ <br> <p>Skupaj</p> <p id="skupaj"></p> <script> var skupaj=0; var tabelaZneskov=[]; function vnos() { var v_podjetje; v_podjetje = document.getElementById("izbira").value; var znesek=0; znesek = parseFloat(document.getElementById("vpis").value); if (v_podjetje == "podjetjeEna") { document.getElementById("pEna").innerHTML += znesek + "EUR, "; skupaj += znesek; } else if (v_podjetje == "podjetjeDve") { document.getElementById("pDve").innerHTML += znesek + "EUR, "; skupaj += znesek; } else if (v_podjetje == "podjetjeTri") { document.getElementById("pTri").innerHTML += znesek + "EUR, "; skupaj += znesek; } else if (v_podjetje == "podjetjeStiri") { document.getElementById("pStiri").innerHTML += znesek + "EUR, "; skupaj += znesek; } else {} document.getElementById("skupaj").innerHTML = skupaj + "EUR"; tabelaZneskov.push(znesek); } function izpis() { } </script> </body> </html>
- spremenilo: VelikiZnoj ()
ejresnevem ::
ja, naredi si tabelo pa funkcijo, da poišče podjetjeId in doda znesku, imaš, kot je verjetno namen vaje, precej penostavljeno memorijsko podatkovno bazo,
initDb() { db = [[podjetjeId, znesek], ["podjetjeDve", 0]... }
addAmount(id,amount) { for(var i in db) if (db[i][0]==id) { db[i][1]+=amount; break; } }
itd..
initDb() { db = [[podjetjeId, znesek], ["podjetjeDve", 0]... }
addAmount(id,amount) { for(var i in db) if (db[i][0]==id) { db[i][1]+=amount; break; } }
itd..
Unknownm ::
Nekaj takega morda, torej:
Prvo se sprehodiš po vseh izbranem elementu, kjer imaš zabeležene zneske, torej 'pEna', 'pDva',... Vrednost splitaš po 'EUR,' in dobiš seznam zneskov. Potem jih z forEach loopom sešteješ in znesek dodaš v element, kjer želiš rezultat. Na gumb, kjer želiš dodati funkcijo za izpis, pa namesto 'onclick' raje dodaj id="izpisSestevkov", event handler pa imaš že spisan v kodi.
Prvo se sprehodiš po vseh izbranem elementu, kjer imaš zabeležene zneske, torej 'pEna', 'pDva',... Vrednost splitaš po 'EUR,' in dobiš seznam zneskov. Potem jih z forEach loopom sešteješ in znesek dodaš v element, kjer želiš rezultat. Na gumb, kjer želiš dodati funkcijo za izpis, pa namesto 'onclick' raje dodaj id="izpisSestevkov", event handler pa imaš že spisan v kodi.
function izpis(entryElement, exitElement) { let sum = 0; document.getElementById(entryElement).innerHTML.split('EUR,').forEach(el => { sum += parseInt(el); }) document.getElementById(exitElement).innerHTML = sum; } function a(entry) { switch entry { case 'podjetjeEna': return 'skupajEna'; case 'podjetjeDva': return 'skupajDva'; case 'podjetjeTri': return 'skupajTri'; case 'podjetjeStiri': return 'skupajStiri'; } } document.getElementById('izpisSestevkov').addEventHandler('click', () => { izpis(document.getElementById('izbira').value, a(document.getElementById('izbira').value)) })
Zgodovina sprememb…
- spremenilo: Unknownm ()
VelikiZnoj ::
Hvala za pomoč - mi še vedno ni čisto jasno, ampak bom še predelal vse skupaj in upam, da mi rata. :)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | AJAX kratke nalogeOddelek: Izdelava spletišč | 2279 (1746) | Yacked2 |
» | Ajax readyState == 3 ne deluje?Oddelek: Izdelava spletišč | 737 (660) | Housy |
» | JavaScript offsetTop in brskalnikiOddelek: Izdelava spletišč | 990 (922) | shorvat |
» | Javascript - izračun razlike v datumihOddelek: Programiranje | 1904 (1759) | kogledom |
» | Internet strani kot slideshowOddelek: Izdelava spletišč | 2108 (1859) | sverde21 |