0

JQuery 計算に関する簡単な質問です。

各項目のチェックボックスと行の合計のテキスト入力ボックスを備えたフォームがあるとします...

アイテム 1 - 10 ドル、アイテム 2 - 20 ドル、アイテム 3 - 30 ドル、明細合計

そして、別の行...

アイテム 1 - $15、アイテム 2 - $25、アイテム 3 - $35、そして明細合計

各行で選択された各アイテムの「行合計」を確立するにはどうすればよいでしょうか? 合計の計算 (「checked」に基づく加算と減算) を可能にする .each および .map 関数を試しましたが、明らかに目的を無効にする次の行の行合計に転送されます。誰かがこれを以前に扱ったことがあるとしか思えませんか?

現在のコードは次のとおりです (最初は省略されていました。私はかなりずれているように感じたからです。しかし、必要な場合はここにあります)。

<?php
while($row = mysqli_fetch_array($result)){
    echo '
    <tr>
        <td>'.$row['pkgletter'].'</td>
        <td>'.$row['item1'].'<br />$'.$row['item1_price'].'</td>
        <td><input type="checkbox" class="lineitem" id="'.$row['pkgid'].'" value="'.$row['item1_price'].'" checked="" name="item1" /></td>
        <td>'.$row['item2'].'<br />$'.$row['item2_price'].'</td>
        <td><input type="checkbox" class="lineitem" id="'.$row['pkgid'].'" value="'.$row['item2_price'].'" checked="" name="item2" /></td>
        <td>'.$row['item3'].'<br />$'.$row['item3_price'].'</td>
        <td><input type="checkbox"  class="lineitem" id="'.$row['pkgid'].'" value="'.$row['item3_price'].'" checked="" name="item3" /></td>
        <td>$ <input class="linetotal" id="linetotal'.$row['pkgid'].'" size="10"    type="text" name="linetotal" /></td>
    </tr>';
}
?>

<script>
$(document).ready(function(){
    $(".lineitem").click(function() {
        var id = $(this).attr('id');
        var total = 0;
        $(".lineitem:checked").each(function() {
            total += parseInt($(this).val(), 10);
        });
        $('#linetotal' + id).val(total);
    });
});
</script>
4

2 に答える 2