0

私はコードイグナイターで働いています。行に3つの入力ボックスを含むフォームがあります。..私はそれらを5未満のforループに入れます..これで私のフォームには3つの入力ボックスが1行にある5つの行があります..今私がしていることは2つの入力ボックスの値を追加して表示しています3番目の入力ボックスで..今、私がやりたいのは、すべての「合計」(3番目の入力ボックス)がいっぱいになったときです..次に、すべての合計を追加して、下部に表示する最後のボックスにすべての合計を表示します..

これが私の見解です

   <td><input type="text" id = "price_<?php echo $i ?>"
                      onkeyup='addition(<?php echo "$i"?>)'>

     </td>

<td> <input type="text" id = "quantity_<?php echo $i ?>" onkeyup='addition(<?php echo "$i"?>)'>
</td>

<td><input type="text"  id = "total_<?php echo $i ?>">
    </td>

 <?php echo form_input($subtotal)?></td> // here i want to display sum of all the totals

これが私のJavaScriptです。この関数は価格と数量を乗算しています。つまり、最初と2番目の入力ボックスを意味し、3番目のボックスに表示されます。

  function addition (obj)
     {
var subtotal = 0;
var num1=parseInt($('#price_'+obj).val());
    var num2=parseInt($('#quantity_'+obj).val());
    var num4=parseInt($('#total_'+obj).val());

if ($('#price_'+obj).val() !='' && $('#quantity_'+obj).val() !='')
{
    var num3=num1*num2;
    $('#total_'+obj).val(num3);

} 

else
{
    $('#total_'+obj).val('');
 }


 }

私も画像をアップロードしました..

ここに画像の説明を入力してください

4

2 に答える 2

0

jsFiddleの例を次に示します。http://jsfiddle.net/Ner7M/2/

関心のあるコード:

var table = $('table');

// nth-child is 1-based, not 0
function totalColumn(table, idx) {
    var total = 0;
    var tds = $('table')
        .find('tr td:nth-child(' + idx + ') input')
        .each(function() {
        total += parseInt($(this).val());
    });
    return total;
}

totalColumn(table, 3);
于 2013-01-21T19:32:48.387 に答える
0

jQueryを使用しているようですが、jQueryをより適切に使用できるようにコードを少し変更しました。JsBINでデモを見ることができます

結果を計算して1つの「合計」セルを更新するときに、すべての「合計」セルをロックするという考え方です。すべての「合計」セルを「総計」セルに合計します。「keyup」イベントを聴いています。

于 2013-01-21T19:47:03.323 に答える