获得NaN而不是价值

use*_*124 0 javascript jquery html-table nan

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

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

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

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

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

Cla*_*dix 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());
Run Code Online (Sandbox Code Playgroud)

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