以下代码我可以先获得价值吗?我希望获得所有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 :(得分:0)
我建议获取值服务器端,我遗漏了大部分表行详细信息以向您展示这个概念:
@{
decimal total = 0;
foreach (var item in Model)
{
...
<td class="wagein" >
@Html.DisplayFor(modelItem => item.Wage)
total += item.Wage;
</td>
...
}
如果您仍然决定获得整个客户端,您可能不希望在循环中添加JavaScript。
答案 1 :(得分:0)
您可以在服务器端执行并使用LINQ扩展模型插入行.Sum(x =&gt; x.Wage)。或者你可以做客户端。请查看此Fiddle以获取示例。