我试图用Moment.js从表中加总时间(格式istream& operator>>(istream& input, Matrix& mm) {
int m,n;
n=mm.ncols;
mm.col = new Vector[n]; // use n instead m for consistency
for (int i=0;i<n;i++) {
mm.col[i].els = new float[m];
for (int k=0;k<m;k++) {
input >> mm.col[i].els[k];
}
}
return input;
}
)。
这是我的js:
hh:mm
这是我的表格:
function timemanage(){
$('.lebih').each (function() {
if(moment('.lebih', 'hh:mm').isValid()){
var value = $(this).text();
if(!isNaN(value) && value.length != 0) {
sum += parseFloat(value);
}
$('.jamlebih').val(sum);
}else{
alert("No");
}
});
}
$(document).ready(function(){
timemanage();
});
我已阅读documentation,但我无法查看有关如何检查格式<table class="table">
<thead>
<tr>
<td> No </td>
<td> Full Name </td>
<td> Attendance Date </td>
<td> In Time </td>
<td> Out Time </td>
<td> Waktu Lebih </td>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>[1602744] - RAHMAT </td>
<td>2016-08-28</td>
<td class="jammasuk">
08:55:00
</td>
<td class="jampulang">
16:03:00
</td>
<td class="lebih">Jam Kerja Kurang Dari 8 Jam</td>
</tr>
<tr>
<td>2</td>
<td>[1602744] - RAHMAT </td>
<td>2016-08-29</td>
<td class="jammasuk">
08:55:00
</td>
<td class="jampulang">
16:03:00
</td>
<td class="lebih">Jam Kerja Kurang Dari 8 Jam</td>
</tr>
<tr>
<td>3</td>
<td>[1602744] - RAHMAT </td>
<td>2016-08-30</td>
<td class="jammasuk">
08:55:00
</td>
<td class="jampulang">
16:03:00
</td>
<td class="lebih">Jam Kerja Kurang Dari 8 Jam</td>
</tr>
<tr>
<td>4</td>
<td>[1602744] - RAHMAT </td>
<td>2016-08-31</td>
<td class="jammasuk">
08:55:00
</td>
<td class="jampulang">
18:03:00
</td>
<td class="lebih">01:08</td>
</tr>
<tr>
<td colspan="4"> </td>
<td>Total Jam Lebih</td>
<td>
<input name="jamlebih" type="text" readonly disabled class="jmljam" />
</td>
</tr>
<tr>
<td colspan="4"> </td>
<td>Ro Yang DiDapatkan</td>
<td>
<input name="dapetro" type="text" readonly disabled class="ronya" />
</td>
</tr>
</tbody>
</table>
是否有效的任何部分。使用上面的脚本,我始终会收到提醒hh:mm
。
这是我的fiddle。
答案 0 :(得分:1)
我不理解您网页上的文字,但我已尽力解释您的问题。这是我的版本:JSFiddle请注意我还更改了其中一个用于测试目的的时间框,以便将两个值组合在一起。
正如您对帖子的评论中所解释的那样,您需要为momentjs提供一个值来解析,即$(this).text()
。但是,momentjs在解析时非常宽容。它仍将解析&#39; 8&#39;你的文字。因此,您必须使用&#39; true&#39;来初始化您的时刻。作为第三个参数,如下:var thisMoment = moment(value, 'hh:mm', true);
。这样可以进行严格的解析,因此片刻不会解析&#39; 8&#39;
使用时刻的内置.add(object)
将两个时刻加在一起也是一个不错的主意。由于我们仅使用hh:mm
,因此我var total = moment().startOf('day')
为我们提供了一个12:00:00
的简单添加内容。
你也试图改变一个不存在的类的价值。当你真的希望通过输入名称获得它时,你有$('.jamlebih').val(sum);
(或者你可以自己添加课程,如果你愿意的话。),如下所示:$("input[name='jamlebih']")