1

次のコードでは、 と で列を表示していstudentNameますfeeAmount。次に、最後に の金額を追加しようとしていますfeeAmountが、jQuery 関数は合計金額を返しません。

<div id="studentContent"  >
    <script id="studentTemplate" type="text/x-jquery-tmpl"> 
        <form id="studentForm" action ="">
            <table  class=""  border="1" cellpadding="0" cellspacing="0">
                <tbody>
                    {{#each items}}
                        <tr class="">
                            <td>{{=studentName}}</td>
                            <td><input type="text" class="{{=id}}" id="{{=id}}"
                   value='{{=feeAmount}}' /></td>
                        </tr>
                    {{/each}} 
                    <tr>
                        <td><input id="totalFeeAmount" value="a" /></td>
                    </tr>
                    <tr>
                </tbody>           
            </table>            
        </form>
    </script>
</div>

$(document).ready(function () {
    $("#studentForm").html(function () {
        var totalFeeAmount = 0;
        $(".feeAmount").each(function () {
            totalFeeAmount += parseInt($(this).html())
        });
        return totalFeeAmount;
    });
});

列の合計を返して表示する関数を修正する方法を教えてください。

4

1 に答える 1

1

totalFeeAmountフォームの内容全体を変更するのではなく、入力フィールドの値を設定する必要があります

$(document).ready(function () {
    $("#totalFeeAmount").val(function () {
        var totalFeeAmount = 0;
        $(".feeAmount").each(function () {
            totalFeeAmount += (parseInt($(this).html()) || 0)
        });
        return totalFeeAmount;
    });
});

また

$(document).ready(function () {
    var totalFeeAmount = 0;
    $(".feeAmount").each(function () {
        totalFeeAmount += (parseInt($(this).html()) || 0)
    });
    $("#totalFeeAmount").val(totalFeeAmount);
});
于 2013-09-15T01:38:13.803 に答える