2012-08-13 63 views
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> 

回答

0

我建议得到价值服务器端,我已经离开了大部分的表行详细的向您展示的概念:

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

如果仍然决心要得到总的客户端你可能不想在你的循环中添加JavaScript。

0

你可以做到服务器端,并使用LINQ扩展model.Sum(x => x.Wage)插入一行。或者你可以做客户端。以Fiddle为例。