我只是看不出我做错了什么......它没有计算出#34; stunden"领域。
我身边有一些小错误,我无法看到它。
编辑:现在一切正常,
$(document).ready(function(){
$('.item').keyup(function(){
var starts = 0;
var ends = 0;
var stunden = 0;
if (!isNaN($(this).find(".starts").val())) {
starts = $(this).find(".starts").val();
}
if (!isNaN($(this).find(".ends").val())) {
ends = $(this).find(".ends").val();
}
stunden = ends - starts;
$(this).find(".stunden").val(stunden);
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<table id="t1" class="table table-hover">
<tr>
<th class="text-center">Start Time</th>
<th class="text-center">End Time</th>
<th class="text-center">Stunden</th>
</tr>
<tr id="row1" class="item">
<td><input name="starts[]" class="starts form-control" ></td>
<td><input name="ends[]" class="ends form-control" ></td>
<td><input name="stunden[]" class="stunden form-control" readonly="readonly" ></td>
</tr>
<tr id="row2" class="item">
<td><input name="starts[]" class="starts form-control" ></td>
<td><input name="ends[]" class="ends form-control" ></td>
<td><input name="stunden[]" class="stunden form-control" readonly="readonly" ></td>
</tr>
</table>
</div>
&#13;
答案 0 :(得分:5)
问题是您在.stunden
字段中按下某个键时重新计算,因此您应该将事件移动到其他输入或父行。你需要这样的东西。
$('.item').keyup(function(){
var starts = 0;
var ends = 0;
var stunden = 0;
if (!isNaN($(this).find(".starts").val())) {
starts = $(this).find(".starts").val();
}
if (!isNaN($(this).find(".ends").val())) {
ends = $(this).find(".ends").val();
}
stunden = starts - ends;
$(this).find(".stunden").val(stunden);
});
答案 1 :(得分:1)
让我试一下原始的密钥代码.ends
,我只是想解释代码下的工作原理
.starts
,我们目前位于tr>td>input
,因此需要tr
备份到parent()
,然后我们会在其元素中找到.starts
。还有{{} 1}} 查找.ends
也处于州.studen
状态,因此备份到tr>td>input
并通过next()转到td
,然后找到td
。
.studen