用于MVC脚本中Model List上的循环,并在循环内访问Jquery

for loop over Model List in MVC script and access Jquery inside loop

本文关键字:循环 Jquery 访问 脚本 MVC Model List 用于      更新时间:2023-09-26

我想访问MVC脚本中forloop内部的jquery。这是一个场景:-

我有类型列表的模型属性。并希望在循环上进行迭代,并在同一视图中将内容添加到Dropdown。

    @Html.EditorFor(model => model.worklist)
    @Html.DropDownListFor(model => model.PhoneNumber, Enumerable.Empty<SelectListItem>(), new { id = "contactPhone" })
<script type="text/javascript">
  $(document).ready(function () {
@for(var i=0; i < Model.worklist.Count(); i++)
{
   if(Model.worklist[i].PhoneID == 1)
   {
     @:$('<option />').val(Model.worklist[i].PhoneNumber).text(Model.worklist[i].PhoneNumber).appendTo('#contactPhone select');
   }
}
  });
</script>

它不起作用。有没有什么方法可以像这样使用mvc脚本中的其他Model属性动态填充下拉列表?

看起来您的选择器#contactPhone select不工作,因为select控件也有contactPhone id。请使用.appendTo('#contactPhone')进行检查。

顺便说一句,你可以使用helper用你的模型填充下拉列表:

@{
    new list = Model.worklist.Select(x => new SelectListItem {
       Text = x.PhoneNumber.ToString(), 
       Value = x.PhoneNumber.ToString()
    }).ToList();
}
@Html.DropDownListFor(model => model.PhoneNumber, list, new { id = "contactPhone" })