我正在使用ASP.NET MVC4和C#的小型Web應用程序。它的用途是創建一個簡單的待辦事項列表。我正在努力的是我有一個在foreach中顯示的任務列表。每個任務都是一個複選框,基本上當複選框被點擊時(即真正的),文本應該通過它。我試圖使用Javascript,但它沒有奏效。這裏是我的代碼:刪除線在foreach中的文本?
@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' – Muctadir