Значения ввода текста суммы JQuery, если выбранное значение раскрывающегося списка равно значению DIV - PullRequest
0 голосов
/ 03 декабря 2011

Мой пример на JSFiddle
Я пытаюсь суммировать значения из таблицы на основе контрольных номеров, которые можно выбрать в поле выбора. Вот то, что я имею до сих пор - Если бы кто-нибудь мог, пожалуйста, указать мне правильное направление, это было бы здорово. Заранее спасибо.

В этом примере, если вы выберете проверку 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 голосов
/ 03 декабря 2011

пожалуйста, проверьте, я обновил код.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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...