My Example on JSFiddle
我试图根据可以在选择框中选择的支票号来对表中的值求和。以下是我到目前为止的情况 - 如果有人可以请我指出正确的方向,这将是伟大的。提前谢谢。
对于此示例,如果您为表2中的两个选项选择检查1234,我想对这些输入字段求和并将其打印在具有该校验码的行中的表1中。
如果您在第一行选择检查1234,它将仅对该值求和,并将其打印在具有该校验码的行的第一表中。
我一直试图弄明白这一点,但无法提出解决方案。如果有人能帮助我或至少指出我正确的方向,我会非常感激。
<table id="acctRec">
<tr>
<td>Check Number</td>
<td>Amount Paid</td>
<td>Applied</td>
<td>Variance</td>
</tr>
<tr class="all">
<td class="org">1234</td>
<td>300</td>
<td class="totalApplied"></td>
<td></td>
</tr>
<tr class="all">
<td class="org">4321</td>
<td>400</td>
<td class="totalApplied"></td>
<td></td>
</tr>
</table>
<table>
<tr>
<th>Name</th>
<th> Amount Due</th>
<th colspan="2">Applied</th>
<th>Check Num</th>
</tr>
<tr>
<td>First Name</td>
<td>400</td>
<td><input class="checkbox" type="checkbox"></td>
<td><input type="text" class="amount"></td>
<td><select class="checknum">
<option></option>
<option value="1234">1234</option>
<option value="4321">4321</option>
</select>
</td>
</tr>
<tr>
<td>First Name</td>
<td>500</td>
<td><input class="checkbox" type="checkbox"></td>
<td><input type="text" class="amount"></td>
<td><select class="checknum">
<option></option>
<option value="1234">1234</option>
<option value="4321">4321</option>
</select>
</td>
</tr>
</table>
和Jquery ......
$('table input[type="checkbox"]').bind('click change', function() {
var input = $(this).closest('td').next('td').find('input');
var invoice = $('.invoice');
if ($(this).is(':checked')) {
var amount = $(this).closest('td').prev('td').text();
var holdback = '1';
var newtot = amount * holdback;
input.val(newtot);
} else {
input.val('0.00');
}
});
$('select').bind('keyup change', function() {
$('.org').each(function() {
var all = $(this).text();
//alert(all);
});
$('.checknum').each(function() {
var sel = $(this).val();
//alert(sel);
if (all=sel) {
//Found check number in table 1, insert sum value
alert(all);
}
else {
//No check number, append row to table 1
}
});
});
答案 0 :(得分:0)
请检查我已更新代码。 http://jsfiddle.net/CJMYK/20/
var holdback = 1; // changed from '1' to one since you are muiltiplying, it should be number not char.
var newtot = amount * holdback;