如何在下拉列表中仅显示(设置)特定项目?
Posted
技术标签:
【中文标题】如何在下拉列表中仅显示(设置)特定项目?【英文标题】:How to display(set) only particular items in drop-down? 【发布时间】:2019-06-15 18:39:07 【问题描述】:我在这里有一个下拉菜单。我已经让它多选了。 我正在填充此下拉列表,如代码所示。
<td class="border-top-0 border-left-0 border-right-0 align-middle form-group">
@
SelectList newSelectList = new SelectList((from s in Model.UserMasterList.ToList()
select new
userId = s.userId,
userName = (s.userFirstName +' '+ s.userLastName)
).Distinct(), "userId","userName",
string.IsNullOrEmpty(item.JobConstructionManagerId.ToString()) ? 0 : item.JobConstructionManagerId);
@html.DropDownListFor(model => item.JobConstructionManagerId, (SelectList)newSelectList, new @class = "form-control js-select js-noFilter hidden DDConstructionManager", size = "2", @value = 0, Id = "JobConstructionManager" + t, @OnChange = "fill(" + t + ")" )
</td>
我只想显示那些通过模型而不是下拉列表中的所有项目提供的项目,请参考下图。
这些值设置得很好,但我只想显示这些值而不是其他值。如果可能,隐藏其他未选择的项目。
【问题讨论】:
那么通过模型提供的物品有哪些,在哪里? 它的 item.JobConstructionManagerId ..values 通过模型 @er-mfahhgk 从控制器发送 这意味着您只需在下拉列表中显示Standard User 1
?如果是,那么您的下拉菜单中只剩下一项,您将如何处理下拉菜单中的一项?
在这种情况下,单个项目被选中,可能有 2 个或更多项目被选中 @er-mfahhgk
如果有 2 件商品,那么 model => item.JobConstructionManagerId
将保留哪一件商品,因为我认为它只包含单个商品 ID
【参考方案1】:
您可以过滤您从JobConstructionManagerId
的列表中选择列表项
(from s in Model.UserMasterList.ToList()
select new
userId = s.userId,
userName = (s.userFirstName +' '+ s.userLastName)
)
.Where(x => item.JobConstructionManagerId.Contains(x.userId))
.Distinct()
【讨论】:
以上是关于如何在下拉列表中仅显示(设置)特定项目?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用列表中显示的相关项目的下拉列表使特定模型类的 Django contrib Admin 更改列表可编辑?
如何在 Classic ASP 的下拉列表中显示存储过程中的数据?