Для цикла по списку моделей в скрипте MVC и доступ к Jquery внутри цикла

Я хочу получить доступ к jquery внутри forloop в скрипте MVC. Вот сценарий:

У меня есть свойство Model типа list. и хотите перебрать цикл и добавить содержимое в 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>

это не работает. Есть ли способ, как я могу заполнить раскрывающийся список динамически, как это, используя другое свойство Model в сценарии mvc?

1 ответ

Похоже, ваш селектор #contactPhone select не работает, потому что select контроль также имеет contactPhone Я бы. Проверить с .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" })
Другие вопросы по тегам