Jquery Выбрано в форме редактирования не работает, чтобы она отображала предварительно выбранный элемент из списка? MVC 5 - PullRequest
0 голосов
/ 27 мая 2020

Моя модель:

public class UserModel
    {
        public int RoleID { get; set; }
        public string RoleName { get; set; }
        public string[] RegionList { get; set; }
        public List<UserModel> GetRoleList { get; set; }
}

с контроллера, я заполняю свой список,

UserModel us = new UserModel();
            us.GetRoleList = db.Roles.Select(c => new UserModel
            {
                RoleID = c.RoleID,
                RoleName = c.RoleName
            }).ToList();

 return View(us);

мой выпадающий список с множественным выбором здесь,

 @Html.DropDownListFor(model => model.RegionList,Model.GetRoleList.Select(x => new SelectListItem
       { Text = x.RoleName, Value = x.RoleID.ToString() }), new { @class = "chosen-select form-control ", @multiple = true })

jquery сценарий:

<script>
    $('.chosen-select').chosen();
</script

Он работает отлично, и я могу сохранить раскрывающиеся значения для выбора milti.

But when i try to Edit это я не могу заполнить выбранное значение в раскрывающемся списке мой метод контроллера is,

us.RegionList = new string [2];
            for(int inc=0; inc<2;inc++)
            us.RegionList[inc] = Urlist[inc].RoleID.ToString();

Выше здесь я просто пытаюсь добавить повторно выбранные значения в список регионов. Получить список ролей остается таким же, как указано выше, и раскрывающийся список также такой же,

 @Html.DropDownListFor(model => model.RegionList,Model.GetRoleList.Select(x => new SelectListItem
       { Text = x.RoleName, Value = x.RoleID.ToString() }), new { @class = "chosen-select form-control ", @multiple = true })

Но он не показывает выбранные значения

Надеюсь на ваши предложения

**EDITED:**

I решил это, изменив раскрывающийся список на список для

 @Html.ListBoxFor(model => model.RegionList, Model.GetRoleList.Select(x => new SelectListItem
       { Text = x.RoleName, Value = x.RoleID.ToString() }), new { @class = "chosen-select col-md-3", multiple = "multiple" })

и изменив public string[] RegionList { get; set; } на public int[] RegionList { get; set; }

и добавив js,

$(".chosen-select").trigger("chosen:updated");
$(".chosen-select").trigger("list:updated");
$(".chosen-select").chosen().change();

);

...