【发布时间】:2012-08-15 07:57:25
【问题描述】:
我在 asp.net mvc 中有一张桌子。在这张表中,每一行都有一个复选框。当我选中一个复选框时,我想在该行中找到工资值并与选中的其他行工资相加。 我想通过 Jquery 或 java 脚本来做这个总和。
@foreach (var item in Model)
{
<tr id="rowid">
<td>
<input type="checkbox" name="chk-@intCount" id="chk-@intCount" class="chkclass" />
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.TechnicalNo)
</td>
<td class="sum" id="wagein">
@Html.DisplayFor(modelItem => item.Wage)
</td>
<td class="sum" id="time">
@Html.DisplayFor(modelItem => item.Time)
</td>
</tr>
}
这是我在 asp.net mvc 中的代码。我现在如何对工资和时间的检查值求和?
编辑:
我的 jQuery 代码:
<script src="/Scripts/jquery-1.4.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('.chkclass').click(function() {
var sum = 0;
$('.chkclass:checked').each(function() {
sum += parseFloat($(this).closest('tr').find('.wagein').text());
});
$('#sum').html(sum);
});
});
</script>
我的html代码:
<tr>
<td>
<input type="checkbox" name="chk-1" id="chk-1" class="chkclass" />
</td>
<td class="sum wagein">
10
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="chk-2" id="chk-2" class="chkclass" />
</td>
<td class="sum wagein">
10
</td>
</tr>
有什么想法吗?!有什么问题?!
【问题讨论】:
-
您使用的是 非常 旧版本的 jquery - 考虑升级吗?应该大部分向后兼容!
-
此处显示的标记与 jquery 代码的组合可以正常工作。检查这个小提琴:jsfiddle.net/ADE3a - 唯一的区别是我将总数输出到一个新的 div,ID 为
total放在桌子下方。 -
@Jamiec :我将它升级到 1.8.0 。你的 jsfiddle 演示不起作用。但对于达林的作品。
-
你必须停止说“不工作”。它怎么不工作?你有错误吗?总和没有出现吗?无论如何它对我来说效果很好 - 你使用的是什么浏览器?
-
@Persian.,在您的脚本中的 HTML 中有一个
});?。这是紧跟在$('#sum').html(sum);之后的行上的无效javascript。去掉这个问号。
标签: javascript jquery asp.net-mvc asp.net-mvc-3