0

以下のコードでは、最初に値を取得できますか? そして、すべての td タグの値を取得して、実行時に賃金列の値を合計したい

//*************************************

@foreach (var item in Model)
 {
     <script src="../../Scripts/jquery-1.4.4.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function () 
    {
        $("input:checkbox").click(function ()
         {

         if ($('input:checkbox').attr('checked'))
             {
              $(".wagein").each(function ()
                {
                    calculateSum();
                });
             }
            });
        })
            function  calculateSum()
                     {

            var sum = 0;
                        if (!isNaN(this.value) && this.value.length != 0)
                         {
                        sum += parseInt(this.value);
                        $("#WageSum").val(sum);
                        alert(sum);
                        }

                    else 
                        {
                            sum -= parseInt(this.value);
                            $("#WageSum").val(sum);
                            alert(sum);
                         }

                };

モデルからの値の多くを含むのは私の<td>タグです

<td class="wagein" >
    @Html.DisplayFor(modelItem => item.Wage)
</td>
4

2 に答える 2

0

サーバー側で実行し、LINQ 拡張機能 model.Sum(x => x.Wage) を使用して行を挿入できます。または、クライアント側で行うこともできます。例として、このフィドルを見てください。

于 2012-08-14T03:09:15.617 に答える
0

サーバー側の値を取得することをお勧めします。概念を示すために、テーブル行の詳細のほとんどを省略しました。

@{
decimal total = 0;
foreach (var item in Model)
{
...
<td class="wagein" >
    @Html.DisplayFor(modelItem => item.Wage)
    total += item.Wage;
</td>
...
}

それでもクライアント側の合計を取得することに決めている場合は、おそらくループ内に JavaScript を追加したくないでしょう。

于 2012-08-13T09:12:38.160 に答える