JQuery Sum文本输入值如果选择下拉值等于DIV值

时间:2011-12-03 17:35:14

标签: jquery sum

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

    }

});

});      

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;