首页 > 解决方案 > 未捕获的 ReferenceError:尝试将总和分配给值时分配中的左侧无效

问题描述

我有一个函数,用于将两个输入字段的输入相加并将其分配给一个。我的功能如下:

function sum(id) {
        nextId = id+2
        console.log($("#id_unit_market_price"+nextId).val())
        $("#id_unit_market_price"+id).val() += $("#id_unit_market_price"+nextId).val();

    }

我调用 sum 函数的函数如下所示:

function makeSub(subRow) {
        var empTab = document.getElementById('empTable');
        document.getElementById("id_unit_market_price"+subRow.parentNode.parentNode.rowIndex).value = 0
        addRow(true);
        sum(subRow.parentNode.parentNode.rowIndex)
    }

打印输入的console.log($("#id_unit_market_price"+nextId).val())实际值。但是当我尝试这样做时,$("#id_unit_market_price"+id).val() += $("#id_unit_market_price"+nextId).val();我得到了错误(index):325 Uncaught ReferenceError: Invalid left-hand side in assignment at sum ((index):325) at makeSub ((index):318) at HTMLInputElement.onclick ((index):1) ,我也尝试将值解析为浮点数,但这也不起作用。任何帮助,将不胜感激。提前致谢

标签: javascriptjquery

解决方案


.val()方法应传递一个参数以更改值。

let currentVal = $("#id_unit_market_price"+id).val();
$("#id_unit_market_price"+id).val(currentVal + $("#id_unit_market_price"+nextId).val());

赋值左侧的函数调用在 JavaScript 中没有意义。


推荐阅读