【问题标题】:Get average from input radio button从输入单选按钮获取平均值
【发布时间】:2014-08-04 00:10:25
【问题描述】:

我想通过输入单选按钮值获得平均值。
我有一个表格,其中包含从 1 到 10 的 3x 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/

【问题讨论】:

  • 单选按钮在哪里?我没有看到任何
  • 那么你的单选按钮在哪里?
  • @AnoopJoshi 我还有文本字段,但应该是单选按钮。
  • 能贴出想要的html结构吗?
  • 试试这个:jsfiddle.net/WN95r

标签: javascript jquery forms input radio-button


【解决方案1】:

Demo Fiddle


检查此代码。

$('.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 事件来处理收音机等输入而不是键盘输入。
  • 使用:checked 选择器仅获取选定的单选按钮。

【讨论】:

    【解决方案2】:

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

        $(':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);
    });
    

    Demo

    【讨论】:

      【解决方案3】:

      请检查一下

      $('.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

      【讨论】:

        【解决方案4】:

        您可以使用“.checked”确定单选按钮是否被选中

        document.getElementById("radio_1").checked
        

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

        【讨论】:

        • 请用小提琴提供完整的答案。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-25
        • 2015-10-20
        • 1970-01-01
        • 1970-01-01
        • 2018-03-20
        • 1970-01-01
        • 2018-02-07
        相关资源
        最近更新 更多