C# 删除foreach中的文本?
我将ASP.NET MVC4和C#用于一个小型web应用程序。它的用途是创建一个简单的待办事项列表。我正在努力解决的是,我在foreach中显示了一个任务列表。每个任务都是一个复选框,基本上,当单击复选框(即true)时,文本应该有一个空格。我尝试使用Javascript,但没有成功。这是我的密码:C# 删除foreach中的文本?,c#,javascript,asp.net-mvc-4,C#,Javascript,Asp.net Mvc 4,我将ASP.NET MVC4和C#用于一个小型web应用程序。它的用途是创建一个简单的待办事项列表。我正在努力解决的是,我在foreach中显示了一个任务列表。每个任务都是一个复选框,基本上,当单击复选框(即true)时,文本应该有一个空格。我尝试使用Javascript,但没有成功。这是我的密码: @foreach (var item in Model) { <tr style="border: 1px solid;"> <td> <inp
@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>
}
有人能解释一下我错在哪里吗。谢谢问题是(this.checkbox.checked)
,它不引用checkbox元素
将复选框idmychekbox
作为第二个参数传递到taskDone()
,获取该元素并验证它是否被if(checkbox.checked)
选中
函数taskDone(id,checkBoxId){
var c=document.getElementById(id);
var checkBox=document.getElementById(checkBoxId);//获取复选框
如果(checkBox.checked){//验证是否选中
c、 className=“罢工”;
}
否则{
c、 className=“nostrike”;
}
}
我认为你应该做这个。选中而不是这个。复选框。选中@archie请看一下你的答案。苏曼-谢谢!它起作用了:)所以我不理解我的错误这个。复选框没有引用您想要的复选框。
<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>
.strike
{text-decoration: line-through;}
<input id="mychekbox" type="checkbox" name="checkbox" onchange="taskDone(@item.Id, 'mychekbox')" />
function taskDone(id, checkBoxId) {
var c = document.getElementById(id);
var checkBox = document.getElementById(checkBoxId); //getting checkbox
if (checkBox.checked) { //validating checked or not
c.className = "strike";
}
else {
c.className = "nostrike";
}
}