如何在下拉列表中仅显示(设置)特定项目?

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 =&gt; 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 的下拉列表中显示存储过程中的数据?

当我在 asp.net 核心中选择下拉值时,如何将特定文本设置为下拉列表?

如何在本机反应中显示从可搜索下拉列表中选择的项目?

网页下拉菜单怎么设置

如何将数据库中的特定值显示为第一个下拉列表选择选项