js динамический подсчет input type="radio"
Сейчас подсчет в коде идет по кнопке. Как сделать подсчет динамическим?
<input type="radio" name="aa" value='1'>
<input type="radio" name="aa" value='2'>
<input type="radio" name="bb" value='1'>
<input type="radio" name="bb" value='2'>
<input type='button' value='=' onclick='calc()' >
<input type="text" id='trouble_itog' readonly>
function getaa(aa)
{
var elements = document.getElementsByName(aa);
for (var i = 0, l = elements.length; i < l; i++)
{if (elements[i].checked){return elements[i].value;}}
}
function getbb(bb)
{
var elements = document.getElementsByName(bb);
for (var i = 0, l = elements.length; i < l; i++)
{if (elements[i].checked){return elements[i].value;}}
}
function calc()
{
result =
Number(getaa("aa")) +
Number(getbb("bb"));
document.getElementById('trouble_itog').value = result;
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
function getRadioValue(name) {
let elements = document.getElementsByName(name);
for (let i = 0, l = elements.length; i < l; i++) {
if (elements[i].checked)
return elements[i].value;
}
return 0;
}
function calc() {
let result = +getRadioValue("aa") + +getRadioValue("bb");
document.getElementById('trouble_itog').value = result;
}
<input type="radio" name="aa" value='1' onchange='calc()'>
<input type="radio" name="aa" value='2' onchange='calc()'>
<input type="radio" name="aa" value='3' onchange='calc()'>
<br/>
<input type="radio" name="bb" value='1' onchange='calc()'>
<input type="radio" name="bb" value='2' onchange='calc()'>
<input type="radio" name="bb" value='3' onchange='calc()'>
<br/>
<input type='button' value='=' onclick='calc()'>
<input type="text" id='trouble_itog' readonly>