JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" id="cislo" placeholder="Známka">
<select id="vyber">
<option value="0">Vyberte typ zkoušení</option>
<option value="0.1">Malý domácí úkol</option>
<option value="0.2">_20</option>
<option value="0.333">_33,3</option>
<option value="0.4">Pětiminutovka - krátké opakovací zkoušení</option>
<option value="0.4">Samostatná práce</option>
<option value="0.4">_40</option>
<option value="0.6">Desetiminutovka - krátké opakovací zkoušení</option>
<option value="0.6">Referát</option>
<option value="0.6">Domácí úkol</option>
<option value="0.6">_60</option>
<option value="0.666">_66,6</option>
<option value="0.8">Dvacetiminutovka - opakovací zkoušení</option>
<option value="0.8">_80</option>
<option value="1">Ústní zkoušení</option>
<option value="1">Čtvrtletní zkoušení</option>
<option value="1">Písemné zkoušení</option>
<option value="1">_100</option>
</select>
<button id="tlacitko">Přidat známku</button>
<p id="prumerna-znamka"></p>
JavaScript
//window.onload = function () {
document.getElementById('tlacitko').onclick = pridatZnamku;
//};
var znamky = [];
/**
* Do pole přidá hodnotu textového pole tolikrát, kolik činí váha dané známky.
*/
function pridatZnamku() {
var vaha = document.getElementById('vyber').value * 10;
var znamka = document.getElementById('cislo').value;
for (var i = 0, l = vaha; i < l; i++) {
znamky.push(znamka);
}
document.getElementById('prumerna-znamka').innerHTML = spocitejPrumer(znamky);
}
/**
* Spočítá průměr všech prvků v poli.
* @param {Array} pole Zdrojové pole.
* @returns {Number} Průměr prvků v poli zaokrouhlený na 2 desetinná místa.
*/
function spocitejPrumer(pole) {
var pocetPrvku = pole.length;
var soucet = 0;
for (var i = 0; i < pocetPrvku; i++) {
soucet += +pole[i];
}
return Math.round(100 * soucet / pocetPrvku) / 100;
}