JSFiddle - React, Tailwind, and code Playground
HTML
<form id='me_order_form'>
<table>
<tr><td colspan='2'>ОВОЩИ</td></tr>
<tr>
<td>огурец</td><td><input type='radio' value='1' id='inp_1' name = "check" onclick='calculate(this.value, "5", "bdo_1")'></td>
<td>помидор</td><td><input type='radio' value='1' id='inp_1' name = "check" onclick='calculate(this.value, "8", "bdo_1")' ></td>
<td>тыква</td><td><input type='radio' value='1' id='inp_1' name = "check" onclick='calculate(this.value, "4", "bdo_1")' ></td>
<td><bdo dir='ltr' id='bdo_1'>0</bdo> руб.</td>
</tr>
<tr><td colspan='2'>АЛКОГОЛЬ</td></tr>
<tr>
<td>вино</td><td><input type='radio' value='1' id='inp_2' name = "check2" onclick='calculate(this.value, "50", "bdo_2")'></td>
<td>водка</td><td><input type='radio' value='1' id='inp_2' name = "check2" onclick='calculate(this.value, "30", "bdo_2")' ></td>
<td>коньяк</td><td><input type='radio' value='1' id='inp_2' name = "check2" onclick='calculate(this.value, "70", "bdo_2")' ></td>
<td><bdo dir='ltr' id='bdo_2'>0</bdo> руб.</td>
</tr>
<!--
<tr><td colspan='2'>МЯСНЫЕ ПРОДУКТЫ</td></tr>
<tr>
<td>Сосиски</td><td><input type='radio' value='1' id='inp_3' name = "check3" onclick='calculate(this.value, "68", "bdo_3")'></td>
<td>Колбаса</td><td><input type='radio' value='1' id='inp_3' name = "check3" onclick='calculate(this.value, "96", "bdo_3")' ></td>
<td>Сордельки</td><td><input type='radio' value='1' id='inp_3' name = "check3" onclick='calculate(this.value, "60", "bdo_3")' ></td>
<td><bdo dir='ltr' id='bdo_3'>0</bdo> руб.</td>
</tr>
<tr><td colspan='2'>ФРУКТЫ</td></tr>
<tr>
<td>Банан</td><td><input type='radio' value='1' id='inp_4' name = "check4" onclick='calculate(this.value, "17", "bdo_4")'></td>
<td>Яблоко</td><td><input type='radio' value='1' id='inp_4' name = "check4" onclick='calculate(this.value, "10", "bdo_4")' ></td>
<td>Киви</td><td><input type='radio' value='1' id='inp_4' name = "check4"...
JavaScript
function calculate(quant, prise, updElemId){
var anum = /(^\d+$)|(^\d+\.\d+$)/;
if (!anum.test(quant)) {
alert('Введенное значение не является числом!');
return;
}
goodSum = quant * prise;
document.getElementById(updElemId).innerHTML = goodSum;
var meForm = document.getElementById('me_order_form');
var bdoArray = meForm.getElementsByTagName('bdo');
var allSumm = 0;
for (j = 0; j < bdoArray.length; j++) {
allSumm = allSumm + parseFloat(bdoArray[j].innerHTML);
}
document.getElementById('total_sum').innerHTML = allSumm;
}