【发布时间】:2014-03-24 22:38:48
【问题描述】:
我将 ASP.NET MVC4 和 C# 用于小型 Web 应用程序。它的用途是创建一个简单的待办事项列表。我正在努力解决的是我在 foreach 中显示了一个任务列表。每个任务都有一个复选框,基本上当单击复选框时(即为真),文本应该有一个删除线。我尝试使用 Javascript,但它不起作用。这是我的代码:
@foreach (var item in Model)
{
<tr style="border: 1px solid;">
<td>
<input type="checkbox" name="checkbox" onchange="taskDone(@item.Id)" />
</td>
<td>
<p id="@item.Id">@Html.DisplayFor(modelItem => item.TaskDetails)</p>
</td>
</tr>
}
和 Javascript:
<script language="javascript" type="text/javascript">
function taskDone(id) {
var c = document.getElementById(id);
if (this.checkbox.checked) {
c.className = "strike";
}
else {
c.className = "nostrike";
}
}
</script>
还有一点 CSS:
.strike
{text-decoration: line-through;}
有人可以解释我哪里出错了。谢谢
【问题讨论】:
-
我认为你应该使用
this.checked而不是this.checkbox.checked
标签: c# javascript asp.net-mvc-4