获得NaN而不是价值

问题描述 投票:0回答:1

我一直在研究一些Javascript代码,以便在HTML表上执行一些数学运算。它首先计算一行的平均值,然后计算菜单中具有相同选择的所有行的平均值。

平均计算工作正常,但我已经破坏了平均值的总和。我已经设置了一个示例JSFiddle:

http://jsfiddle.net/fmdataweb/c4gJU/3/

如果您从菜单中选择“中等”作为风险并输入“每周工时数”和“每年工作周数”的某些数字,则会计算平均值,但应将平均值放入“总中度”单元格中。如果您将菜单选项更改为“高”,则相同。

感谢有人能指出我出错的地方 - 我是这个阶段的Javascript新手。

javascript jquery html-table nan
1个回答
5
投票

选择器$('#lastYear tr:has(.risk)').eq(i).find('td:last input')不匹配任何元素。

测试:

如果你在alert($('#lastYear tr:has(.risk)').eq(i).find('td:last input').length)行下面插入行var qty = parseFloat(...),弹出窗口将显示0

编辑:

var qty = parseFloat($('#lastYear tr:has(.risk)').eq(i).find('td:last').prev().find('input').val());

正如@Diego指出的那样,您的原始代码与具有按钮的单元格匹配,而不是input。上面的代码选择最后一个之前的单元格,然后获取其输入。但是,我建议您使用自定义类或ID来使您的选择器更短,更容易阅读。

© www.soinside.com 2019 - 2024. All rights reserved.