【问题标题】: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()

标签: javascript list model-view-controller drop-down-menu view


【解决方案1】:

我找到了答案,

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多