我刚刚学会了一个月前的网页设计,我学习和学习都很慢,无论如何这是我的理由。我有一行有5列,但我只想从这些列计算3,这是我的jQuery
代码
function sumrow(){
$(".isitable").on('keyup','.nsakit, .npuasa, .mnormal', function(){
var $row=$(this).closest("table tr");
var jumlahns=parseInt($row.find('.nsakit').val());
var jumlahnp=parseInt($row.find('.npuasa').val());
var jumlahmn=parseInt($row.find('.mnormal').val());
$row.find('.totalqty').val(jumlahns + jumlahnp + jumlahmn);
});}
当我使用<div>
时,它确实有效,但当我尝试使用<table>
时,
根本不起作用,<table class="isitable">
这是表格的一部分
<tbody>
<tr id="nmr0" name="roworder">
<td>
1
</td>
<td>
<select name="shiftid" class="form-control">
<option selected disabled value="">-Select An Option-</option>
<option value="Normal Shift">Normal Shift</option>
<option value="Long Shift">Long Shift</option>
</select>
</td>
<td>
<select name="breakid" class="form-control">
<option selected disabled value="">-Select An Option-</option>
<option value="break1">11.45-12.15</option>
<option value="break2">20.30-21.00</option>
<option value="break3">18.00-18.45</option>
<option value="break4">00.00-00.30</option>
<option value="break5">07.00-07.30</option>
</select>
</td>
<div class="rownumber">
<td>
<input id="A0" type="text" min="0" class="nsakit" value="">
</td>
<td>
<input id="B0" type="text" min="0" class="npuasa" value="">
</td>
<td>
<input id="C0" type="text" min="0" class="mnormal" value="">
</td>
<td>
<input id="D0" type="text" min="0" class="totalqty" value="">
</td>
</div>
<td><input type="checkbox" name="recordi"></td>
</tr>
</tbody>
我的javascript代码应该更改,以便能够计算总数
答案 0 :(得分:0)
closest 遍历DOM中给定元素的祖先。
因此,当它遍历父元素时,它会检查作为selector
方法的参数给出的closest
是否与元素匹配。要匹配行是否匹配表tr,它需要进一步向上遍历选择器失败的位置。
您只需要tr
代替table tr
var $row = $(this).closest("table tr");