Javascript 未捕获引用错误:尝试为值分配总和时,赋值中的左侧无效
我有一个函数,我用它把两个输入字段的输入相加,然后分配给一个。我的函数如下所示:Javascript 未捕获引用错误:尝试为值分配总和时,赋值中的左侧无效,javascript,jquery,Javascript,Jquery,我有一个函数,我用它把两个输入字段的输入相加,然后分配给一个。我的函数如下所示: 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(); } function ma
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();
}
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)
}
我从中调用sum函数的函数如下所示:
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();
}
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#u unit_market_price”+id).val()+=$(“#id#u unit_market_price”+nextId).val()代码>我得到错误(索引):325未捕获引用错误:赋值中的左侧无效
总计((索引):325)
在makeSub((索引):318)
在HTMLInputElement.onclick((索引):1)
我还尝试将这些值解析为float,但这也不起作用。
任何帮助都将不胜感激。提前感谢应该向.val()
方法传递一个参数以更改值
let currentVal = $("#id_unit_market_price"+id).val();
$("#id_unit_market_price"+id).val(currentVal + $("#id_unit_market_price"+nextId).val());
赋值左侧的函数调用在JavaScript中没有意义。应向.val()
方法传递一个参数以更改值
let currentVal = $("#id_unit_market_price"+id).val();
$("#id_unit_market_price"+id).val(currentVal + $("#id_unit_market_price"+nextId).val());
赋值左侧的函数调用在JavaScript中没有意义
给值赋值
这就是问题所在
可以为变量或属性指定值。不能将值指定给值
12=1
根本没有意义。如果用函数的返回值替换12
,仍然没有意义
如果要更改表单控件的值,jQueryval
函数接受一个参数
jq.val(new_value)
因此:
或者在一份声明中:
$("#id_unit_market_price"+id).val(
$("#id_unit_market_price"+id).val() +
$("#id_unit_market_price"+nextId).val()
)
请记住,表单控件的值是字符串,因此您可能希望+
将它们添加到一起,而不是连接它们
const old_value = +$("#id_unit_market_price"+id).val();
const value_to_add = +$("#id_unit_market_price"+nextId).val();
const new_value = old_value + value_to_add;
$("#id_unit_market_price"+id).val(new_value)
给值赋值
这就是问题所在
可以为变量或属性指定值。不能将值指定给值
12=1
根本没有意义。如果用函数的返回值替换12
,仍然没有意义
如果要更改表单控件的值,jQueryval
函数接受一个参数
jq.val(new_value)
因此:
或者在一份声明中:
$("#id_unit_market_price"+id).val(
$("#id_unit_market_price"+id).val() +
$("#id_unit_market_price"+nextId).val()
)
请记住,表单控件的值是字符串,因此您可能希望+
将它们添加到一起,而不是连接它们
const old_value = +$("#id_unit_market_price"+id).val();
const value_to_add = +$("#id_unit_market_price"+nextId).val();
const new_value = old_value + value_to_add;
$("#id_unit_market_price"+id).val(new_value)
如果使用的是.val()
,则会得到元素的值。如果使用.val(“某物”)
则设置元素的值$(“#id_unit_市价”+id)。val(值在此处)不在此处
如果使用.val()
则获取元素的值。如果使用.val(“某物”)
可以设置元素$(“\id\u unit\u market\u price”+id)的值。val(值在这里)不在这里