首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery:如何根据输入类型= number中的值计算每个函数的总平均值?

Jquery:如何根据输入类型= number中的值计算每个函数的总平均值?
EN

Stack Overflow用户
提问于 2020-06-30 04:30:28
回答 1查看 100关注 0票数 0

我是Javascript/Jquery的新手,我想根据文本框中每个函数名1st column of the table的值来计算最终的评分。

基于实例的公式:

  1. 最终评级核心管理功能= (4.6 + 4.3)/2 (因为只有2个核心函数可用平均值)*0.65
  2. 最终评级支持函数= (4.3 + 4.3)/2 *0.2275
  3. 研究功能最终评分= (4 + 4)/2 * 0.1225

要求每一行的A值列每次更改时,最终的评等也会发生变化。

下面是关于如何获得A值的Jquery:

代码语言:javascript
复制
//GET THE AVERAGE PER ROW
$(".q-value, .e-value, .t-value").change(function(){
    let currentRow = $(this).closest('tr');
    let EValue = parseInt(currentRow.find('.e-value').val());
    let QValue = parseInt(currentRow.find('.q-value').val());
    let TValue = parseInt(currentRow.find('.t-value').val());
    currentRow.find('.a-value').val((EValue  + QValue + TValue ) / 3);
});

.q-值、.e-值、.T-值、.a-值都在类中。

我为每个最终评分函数添加了3种输入类型

代码语言:javascript
复制
<input type="number" class="form-control form-control-sm" id="core-total" name="total_core" readonly>
<input type="number" class="form-control form-control-sm" id="support-total" name="total_support" readonly>
<input type="number" class="form-control form-control-sm" id="research-total" name="total_research" readonly>

因此,每个函数的值将被转储到其中。请帮帮我。我被困在一天之内。

EN

回答 1

Stack Overflow用户

发布于 2020-07-04 04:25:43

在我同事的帮助下,这个问题已经解决了。实际上,我为每个函数(核心、支持等)在每种输入类型中硬编码了if语句。

代码语言:javascript
复制
@if($row->function_name == 'Core Functions')
                                <input type="number" onchange="setFourNumberDecimal(this)" class="form-control form-control-sm a-value-core" name="A[]" style="width: 50px" readonly>
                            @elseif($row->function_name == 'Support Functions')
                                <input type="number" onchange="setFourNumberDecimal(this)" class="form-control form-control-sm a-value-support" name="A[]" style="width: 50px" readonly>
                            @endif
                            @if($row->function_name == 'Research and Extension Services')
                                <input type="number" onchange="setFourNumberDecimal(this)" class="form-control form-control-sm a-value-research" name="A[]" style="width: 50px" readonly>
                            @endif

在那之后。他创建了一个用于计算的JS函数。

代码语言:javascript
复制
//COMPUTE AVERAGE FOR EACH FUNCTION
    function computeAvg() {
        // For Core Functions
        const corevalues = document.getElementsByClassName("a-value-core")
        let avg = 0
        let total = 0
        let count = 0
        for (let x = 0; x < corevalues.length; x++) {
            if (corevalues[x].value !== "") {
                count++
                total = total + parseFloat(corevalues[x].value)
            }
        }
        avg = (total / count) * 0.65
        $('#core-total-average').val(isNaN(avg) ? "" : avg)

        // For Support Functons
        avg = 0
        total = 0
        count = 0
        const supvalues = document.getElementsByClassName("a-value-support")
        for (let x = 0; x < supvalues.length; x++) {
            if (supvalues[x].value !== "") {
                count++
                total = total + parseFloat(supvalues[x].value)
            }
        }
        avg = total / count * 0.2275
        $('#support-total-average').val(isNaN(avg) ? "" : avg)

        // For Research Services
        avg = 0
        total = 0
        count = 0
        const resvalues = document.getElementsByClassName("a-value-research")
        for (let x = 0; x < resvalues.length; x++) {
            if (resvalues[x].value !== "") {
                count++
                total = total + parseFloat(resvalues[x].value)
            }
        }
        avg = total / count * 0.1225
        $('#research-total-average').val(isNaN(avg) ? "" : avg)
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62650339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档