我有此代码,如果lstFullAction
具有相同的名称,我不知道如何删除lstAction
的复选框。 2个列表来自2个不同的表。
<td>
@foreach (var lstAct in listAct)
{
<input style="margin-left:40px; margin-top:5px; " id="ChkAction" type="checkbox" checked="checked" name="aaa" value="@lstAct.ID" />@lstAct.Action
}
@foreach (var lstfullAction in listfullAction)
{
<input style="margin-left: 40px; margin-top: 5px;" id="ChkFullAction" type="checkbox" name="chkfull" value="@lstfullAction.ID" />@lstfullAction.Action
}
</td>
答案 0 :(得分:0)
注意:我假设您使用的是C#Asp.Net Mvc。我没有回答使用jquery,因为你不应该首先从服务器提供不正确的数据。
你需要做的是在传递值之前删除这些项目。在视图中添加if() {} else {}
会使代码混乱。
最简单的方法是使用linq:
var sanitizedListAction = listfullAction.where( item => (listAct.Contains(item)==false)).tolist();
现在,在视图中将listfullAction
替换为sanitizedListAction
@foreach (var lstfullAction in sanitizedListAction)
您放置消毒代码的时间和地点取决于您,但理想情况下,理想情况下应该在控制器中