我得到了这样一个输入,它带有一个编号值
<input type="radio" id="ja" name="upprepas" value="0">
<input type="radio" id="ja" name="bekanta" value="2">
但是我还有10个其他的输入,我想计算所有的输入值。所以我试着这样做:
var select = document.querySelector('input[name="upprepas"]:checked');
console.log(select.value);
var selecto = document.querySelector('input[name="bekanta"]:checked');
console.log(selecto.value);
var selector = select.value + selecto.value;
console.log(selector.value);
但是选择器总是未定义的,为什么?我认为它可能是一个字符串,而不是一个整数,所以我试着把parseInt
之前选择。
你需要做的是用var selector = parseInt(select.value) + parseInt(selecto.value);
代替var selector = select.value + selecto.value;
也使用const
或let
代替var
,这是最佳实践^^
你可以使用querySelectorAll查找所有选中的无线电,循环遍历它们的值并将它们相加。
let checked = document.querySelectorAll("input[type='radio']:checked");
let total = 0;
checked.forEach(function(e){
total += parseInt(e.value);
});
console.log(total)
<input type="radio" name="kreativxt" value="10"> A
<input checked type="radio" name="krexativt" value="1"> V
<input checked type="radio" name="krewativt" value="2"> C