javascript - 网格内计算

标签 javascript asp.net

我想计算网格内部、2个文本框值的倍数、按键或按键事件。 你能为我提供一些 JavaScript 吗?我使用以下代码,它对我不起作用 JavaScript

var a = document.getElementById(txtlabchrgsNooflab);
    var b = document.getElementById(txtlabchrgsTotalCost);
    txtlabchrgsTotalCost=a*b;

最佳答案

首先 - 如果你想将两个东西相乘,它们必须是数字。

目前,您的 ab 变量只是您已识别的 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/

相关文章:

Javascript链表

asp.net - 缺少程序集 : WindowsBase, PresentationCore、PresentationFramework

asp.net - SignalR 协商 SSE,但也使用长轮询?

asp.net - UpdatePanel 中的 Gridview 不会在 DOM 中呈现

c# - 请引用 CSS 和其他与 Visual Studio c# 一起使用的简单样式方法的链接

asp.net - 如何在 Chrome 开发者工具中查看发布到表单的数据大小?

javascript - 动态代码中的 Sys.Application.add_init 错误

javascript - 在共享扩展中访问网页属性

javascript - 如何使用 jQuery 基于 localStorage 预选择选择框和复选框

javascript - Jquery 可调整大小的文本区域