[英]JavaScript calculated field
我只是看不出我做錯了什么...它沒有計算“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>
問題是您在.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);
});
讓我來試試你原來KEYUP代碼.ends
,我只是想說明如何為下面的代碼工作
.starts
,我們目前在tr>td>input
,所以需要通過parent()
備份到tr
然后我們在其元素中找到.starts
還有.ends
find .studen
也處於狀態tr>td>input
,所以備份到td
然后通過next()轉到下一個td
然后找到.studen
。
$(document).ready(function(){ $('.ends').keyup(function(){ var starts = 0; var ends = 0; var stunden = 0; if (!isNaN($(this).parent().parent().find(".starts").val())) { starts = $(this).parent().parent().find(".starts").val(); } if (!isNaN($(this).parent().parent().find(".ends").val())) { ends = $(this).parent().parent().find(".ends").val(); } stunden = starts - ends; $(this).parent().next().find('.stunden').val(stunden); }); });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.