如何从下拉列表列表中找到选定的下拉列表?

Posted

技术标签:

【中文标题】如何从下拉列表列表中找到选定的下拉列表?【英文标题】:how can I find selected DropDownList from List Of DropDownList? 【发布时间】:2020-08-18 14:10:24 【问题描述】:

我在视图中显示一个列表。列表中的每个项目都有一个 DropDownList,用于指定每条记录的状态。现在我想获取 DropDownList 中选定的“DropDownList 中的值”。

我试过这个来设置 DropDownList :

 <div>
  @html.DropDownList("DeclineReasons", ViewBag.DeclineReasons as SelectList, new  @id=item.ProfessorSubmittedRequestFlowId+"Dec")
</div>

然后通过点击按钮,我试图在记录中找到 DropDownList:

  var SelectedDeclineReason = ProfessorSubmittedRequestFlowId + "Dec"
  var e = document.getElementById("SelectedDeclineReason");
  var SDeclineReasons = e.options[e.selectedIndex].value;

我也试过这种方法,但也没有用:

var SelectedDeclineReason = ProfessorSubmittedRequestFlowId + "Dec"
var j=$('*[data-id=SelectedDeclineReason ]');

SelectedDeclineReason 正确显示 Id,但元素在两种方式中都未定义。

【问题讨论】:

你能改变你的 DDL 的 ID 像这样 @Html.DropDownList("DeclineReasons", ViewBag.DeclineReasons as SelectList, new @id="Dec") .... 然后在您的 JS 中,您可以通过 ("#Dec").val() 获得值 ...这对我有用 对不起,不,每条记录都必须有每个项目的 ID。因为我想更新行的状态。 所以你可以使用 Class @Html.DropDownList("DeclineReasons", ViewBag.DeclineReasons as SelectList, new @id=item.ProfessorSubmittedRequestFlowId+"Dec" ", @class= "Mychosen" ) 然后 (".Mychosen").val() 是的,但是会有多个下拉菜单会被选中,因为每条记录都会有下拉菜单,@class= "Mychosen"。,实际上现在我发现了问题,我改变了 var e = document .getElementById("SelectedDeclineReason");到 var e = document.getElementById(SelectedDeclineReason);. 因此您可以通过 ID 找到从十二月开始的 ID,例如 $("input[Id^='Dec']" ).val() 【参考方案1】:

我找到了答案,

 var SelectedDeclineReason = ProfessorSubmittedRequestFlowId + "Dec"
  var e = document.getElementById(SelectedDeclineReason);
  var SDeclineReasons = e.options[e.selectedIndex].value;

我不小心使用了字符串,我设置了 SelectedDeclineReason 的值,问题解决了。

【讨论】:

以上是关于如何从下拉列表列表中找到选定的下拉列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何从下拉列表中继续显示选定的选项?

ReactJS:如何从输入字段的下拉列表中显示选定的值?

使用 jQuery 设置下拉列表的选定索引

如何在引导下拉列表中获取选定元素,其中下拉列表是动态填充的

如何使用javascript使两个选定的索引在pdf下拉列表中匹配

如何从 mysql DB 中搜索与 mojolicious perl 中选定的下拉列表相关的内容