我有一个页面上有2个项目-
项目-1.显示2列SystemName,System-Description的Jquery DataTable。
项目-2.一种具有一个下拉列表和一个文本框的小型表单。该下拉列表包含系统名称,用户在文本框中输入一些描述,然后将值插入DB。插入后,值将出现在Jquery Datatable中。
作为Jquery数据表中的示例,当前提供了3个值。 System1,System2和System3。
在下拉列表中有7个项目... System1,System2 .....,System7。
我想实现的目标
我想根据显示的数据表禁用“下拉列表”中的项目。 因此,考虑前面的示例-
应该在DropDownList中禁用“ System1,System2和System3”项。
我尝试过的事情:
我也尝试了HTMLHelper扩展。但这没用。
这就是填充数据表和DDL的方式::
DropDownList :
控制器代码:
var flist = dbCtx.UserSystems.Where(l => l.InUse.Equals(false));
SelectList list = new SelectList(flist.ToList(), "SystemID", "SystemName");
ViewBag.sysnames = list;
剃刀代码:
@Html.DropDownListFor(model => Model.SystemID, ViewBag.sysnames as SelectList, "Select SystemID", new { @class = "form-control" })
数据表:
控制器代码:
SysViewModel.SysDetails = dbCtx.Get_UserSystem(Userid).ToList<Get_Get_UserSystem_Result>();
剃刀代码:
<table class="table table-striped table-bordered" id="">
<thead class="navbar-dark navbar-dark bg-blue-grey white">
<tr>
<th>
System Name
</th>
<th>
Description
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.SysDetails)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.SystemName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Desc)
</td>
</tr>
}
</tbody>
</table>
答案 0 :(得分:0)
您可以通过以下方式禁用下拉选项
<select>
@{
foreach (var item in List)
{
if(condition)//check exist or not
{
<option style="color:gray" disabled>
@item.Name
</option>
}
else
{
<option>
@item.Name
</option>
}
}
}
</select>