我想计算网格内部、2个文本框值的倍数、按键或按键事件。 你能为我提供一些 JavaScript 吗?我使用以下代码,它对我不起作用 JavaScript
var a = document.getElementById(txtlabchrgsNooflab);
var b = document.getElementById(txtlabchrgsTotalCost);
txtlabchrgsTotalCost=a*b;
最佳答案
首先 - 如果你想将两个东西相乘,它们必须是数字。
目前,您的 a
和 b
变量只是您已识别的 HTML 元素,您无法将它们相乘。 (不过请注意 Carl 的评论;如果这意味着是文字字符串而不是变量名称,则可能需要引用 txtlabchrgsNooflab。)
因此您需要获取这些元素的值(作为数字数据类型)。获取值应该像调用 .value()
进行文本输入一样简单;但是,这会返回一个字符串。这可能会根据需要自动强制转换为数字类型,但我会更高兴(并且认为它更清晰)明确地调用它的parseFloat
。
一旦你有了两个 float ,你就可以愉快地将它们相乘。因此您的代码应如下所示:
var elemA = document.getElementById(txtlabchrgsNooflab);
var elemB = document.getElementById(txtlabchrgsTotalCost);
var a = parseFloat(elemA.value());
var b = parseFloat(elemB.value());
txtlabchrgsTotalCost = a * b;
<小时/>
好的,所以使用上面的代码会导致:
error: Unable to get value of the property 'value': object is null or undefined
从这个错误消息我们可以推断出什么?嗯,运行时无法计算值
,因为它被调用的东西是 null 或未定义。
如果您查看代码,就会清楚哪个变量可能为 null 或未定义 - 并且您应该能够检查 HTML 以了解原因,并进行所需的更正。
关于javascript - 网格内计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10496345/