Неправильная загрузка списка по выбору из другого списка mvc

Имеется приложение в котором есть форма из нескольких DropDownList. Контроллер выглядит следующим образом:

public IActionResult Index()
    {
        int selectedIndex = 0;
        SelectList marks = new SelectList(db.Mark, "Id", "Mark", selectedIndex);
        ViewBag.Marks = marks;
        SelectList models = new SelectList(db.Model.Where(c => c.MarkId == selectedIndex), "Id", "Model");
        ViewBag.Models = models;
        IndexViewModel home = new IndexViewModel(){Region = db.Region.ToList()};
        return View(home);
    }
public ActionResult GetItems(int id)
    {
        return PartialView(db.Model.Where(c => c.MarkId == id).ToList());
    }

Модель:

public class MarkCar
{
    public int Id {get; set; }
    public string? Mark {get;set;}
    public ICollection<ModelCar> Models { get; set; }
}
public class ModelCar
{
    public int Id {get; set;}
    public string? Model {get; set;}
    public int MarkId {get; set;}
    public MarkCar MarkCar {get; set;}
}

Частичное представление:

@model IEnumerable<ProecktCart.Models.ModelCar>
<select id="model" name="Model">
@foreach (var item in Model)
    {
        <option value="@item.Id" selected="">@item.Model</option>
    }
</select>

Главная страница:

<div class="row second">
              <div class="input-field">
                <div class="input-select">
                  @Html.DropDownList("Mark", ViewBag.Marks as SelectList, new {id="mark" })
                </div>
              </div>
              <div class="input-field">
                <div class="input-select">
                  @Html.DropDownList("Model", ViewBag.Models as SelectList, new { id = "model" })
                </div>

<script type="text/javascript">
    $(function () {
        $('#mark').change(function()
        {
            // получаем выбранный id
            var id = $(this).val();
            $.ajax({
                type: 'GET',
                url: '@Url.Action("GetItems")/' + id,
                success: function (data) {
                     
                    // заменяем содержимое присланным частичным представлением
                    $('#model').replaceWith(data);
                }
            });
        });
    })
</script>
              </div>

Суть проблемы в том , что select обновляется а отображение не меняется.Как это можно исправить?


Ответы (0 шт):