从输入单选按钮获取平均值

Get average from input radio button

本文关键字:平均值 获取 单选按钮 输入      更新时间:2023-09-26

我想获得输入单选按钮值的平均值。
我有一个包含3x 10个无线电字段的表单,从1到10。
现在我想计算平均值,这样你就能得到一个最终分数。
我让它与文本框一起工作,但我不知道如何使用选中的单选按钮。

这是我的javascript:

$('.beoordeling').keyup(function () {
var total = 0,
    valid_labels = 0,
    average;
$('.beoordeling').each(function () {
    var val = parseInt($(this).val(), 10);
    if (!isNaN(val)) {
        valid_labels += 1;
        total += val;
    }
});
console.log(total)
average = total / valid_labels;
$('.eindstand').val(average);
});

我已经创建了一个jsfiddle与我现在有它。http://jsfiddle.net/Q2MEq/

Demo小提琴


检查此代码。

$('.beoordeling').change(function () {
    var total = 0,
        valid_labels = 0,
        average;
    $('.beoordeling:checked').each(function () {
        var val = parseInt($(this).val(), 10);
        if (!isNaN(val)) {
            valid_labels += 1;
            total += val;
        }
    });
    console.log(total)
    average = total / valid_labels;
    $('.eindstand').val(average);
});
  • 使用change事件的情况下,如无线电输入,而不是keyup。
  • 使用:checked选择器只获得选中的单选按钮。

看到这个你需要有radio按钮不同的name属性或没有它,然后你可以改变为:

    $(':radio').change(function () {
    var total = 0,
        valid_labels = 0,
        average;
    $(':checked').each(function () {
        var val = parseInt($(this).val(), 10);
        if (!isNaN(val)) {
            valid_labels += 1;
            total += val;
        }
    });
    console.log(total)
    average = total / valid_labels;
    $('.eindstand').val(average);
});

演示

请检查

$('.beoordeling').keyup(function () {
    var total = 0,
        valid_labels = 0,
        average;
    $('.beoordeling').each(function () {
        var val = parseInt($(this).val(), 10);
        if (!isNaN(val)) {
            valid_labels += 1;
            total += val;
        }
    });
    console.log(total)
    average = total / valid_labels;
    $('.eindstand').val(average);
});

演示:JSFiddle

你可以用".checked"来决定单选按钮是否被选中

document.getElementById("radio_1").checked

…如果按钮被选中则返回true,否则返回false。