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

我建议获取价值服务器端,我省略了大部分表格行详细信息以向您展示概念:

@{
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 回答
0

您可以在服务器端执行此操作并使用 LINQ 扩展 model.Sum(x => x.Wage) 插入一行。或者你可以在客户端做。以这个Fiddle为例。

于 2012-08-14T03:09:15.617 回答