for循环在MVC脚本中的Model List并访问Jquery内部循环

时间:2013-07-22 18:01:40

标签: javascript jquery asp.net-mvc populate html.dropdownlistfor

我想在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属性动态填充下拉列表?

1 个答案:

答案 0 :(得分:0)

您的选择器#contactPhone select看起来不起作用,因为select控件也具有contactPhone ID。查看.appendTo('#contactPhone')

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

@{
    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" })