MVC 5 Каскадный DropDownList Bootstrat selectpicker - пустой список - PullRequest
0 голосов
/ 10 апреля 2019

Я не фронтэнд, но я должен что-то сделать. У меня есть два списка:

  • showTeam
  • showMember - каскадирование на основе showTeam.

В исходном коде HTML я вижу все элементы, размещенные как option, но когда я нажимаю DropDownList, я вижу 0 элементов для выбора. Если я уберу селектор выбора, все элементы будут видны. Любая помощь приветствуется.

@Html.DropDownList("showTeams", null, "-Select Team-", htmlAttributes: new { id = "ddshowTeams", @class = "selectCountry selectpicker show-tick form-control" })
                                              @Html.DropDownList("showMembers", null, "-Select Team-", htmlAttributes: new { id = "ddshowMembers", @class = " selectCountry selectpicker show-tick form-control" })

Ajax call:

      debugger;
      $(document).ready(function () {
        //Dropdownlist Selectedchange event
        $("#ddshowTeams").change(function () {
            alert("pehla andar");
            $("#ddshowMembers").empty();
            $.ajax({
                type: 'POST',
                url: '@Url.Action("GetListLabels","CTComparer")',
                dataType: 'json',
                data: { id: $("#ddshowTeams").val() },
                success: function (mems) {
                    console.log("wich ayaeee");
                    // states contains the JSON formatted list
                    // of states passed from the controller


                    $.each(mems, function (i, member) {

                        //alert('<option value="'
                        //    + member.Value + '">'
                        //    + member.Text + '</option>');

                        $("#ddshowMembers").append('<option value="'
+ member.Value + '">'
+ member.Text + '</option>');
                    });
                },
                error: function (ex) {
                    alert('Failed to retrieve states.' + ex);
                }
            });
            return false;
        })




        });

Метод Джсона:

 [HttpPost]
    public ActionResult GetListLabels(int id)
    {
        var list = GetLabelList(id)
                         .Select(p =>
                                   new SelectListItem
                                   {
                                       Value = "",
                                       Text = p.Name
                                   });
      //  this.ViewBag.SourceLabels = this.GetListLabelsSelectedItems(id);
      //  this.ViewData["showMembers"] = this.GetListLabelsSelectedItems(0);
        return Json(list, JsonRequestBehavior.AllowGet);

    }
...