0

这应该很容易,但我似乎无法正确处理。

var totalHours = 0;
this.$(".timesheet-daily-input").each( function () {
    var inputValue = $(this).text();
    var hours = parseInt(inputValue);
    totalHours += (hours == null) ? 0 : hours;
});

我也尝试过$(this).val()$(this).html()但无法从输入字段中获取值。

编辑:抱歉,我知道我忘了提一些事情。“这个”。在每个循环的开始是因为我正在使用主干的模型和集合。第一个“这个”。指有问题的具体型号。它循环了正确的次数,我只是无法获得价值。

4

4 回答 4

2

摆脱this.之前$(".timesheet-daily-input")并使用$(this).val()来获取输入的值。

于 2012-10-17T18:50:27.790 回答
1
var inputValue = $(this).val();
于 2012-10-17T18:52:13.707 回答
0

找不到确切的解决方案,但通过选择父 div 并循环遍历它的子元素来改变我的方法。

var totalHours = 0;
this.$("#timesheet-daily-entry-fields-container").children().each(function () {
    var inputValue = $(this).val();
    var hours = parseInt(inputValue);
    totalHours += isNaN(hours) ? 0 : hours;
});
于 2012-10-17T19:44:51.940 回答
0

没有更多代码很难说,但要改变

var inputValue = $(this).text();
var hours = parseInt(inputValue);
totalHours += (hours == null) ? 0 : hours;

var inputValue = $(this).val(); // use val
var hours = parseInt(inputValue, 10); // use 10 as radix
totalHours += isNaN(hours) ? 0 : hours; // compare to NaN instead of null

请注意parseInt("09")is0并且 parseInt 的结果不能是null.

于 2012-10-17T18:56:18.917 回答