Как отобразить результаты выбора в виде списка в виде HTML? - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь создать веб-приложение для отображения возможных конфигураций отчетов.Я начал проект ASP.NET Framework MVC в Visual Studio.Я пытаюсь настроить два раскрывающихся списка, в которых пользователь может выбрать категорию отчета и отчет в этой категории.Теперь я хочу отобразить параметры, доступные для этого выбранного отчета в текстовой области.Я использую пример кода от Google с 3 каскадными выпадающими списками.Теперь я не могу понять, как изменить или отредактировать последний выпадающий список, который отображает параметры в простой текстовой области, поэтому пользователи видят все доступные параметры одновременно.Спасибо за ваш вклад и рекомендации.

Заполнение раскрывающихся списков достигается с помощью Json / jquery.

Мой метод для получения параметров в контроллере asp.net

public JsonResult getparameter(Guid id) {
    var parameter = Dropdown.ReportParameter.Where(x => x.RepPmRepFK == id).ToList();
    List < SelectListItem > liparameter = new List < SelectListItem > ();

    liparameter.Add(new SelectListItem {
        Text = "--Parameter wählen--", Value = "0"
    });
    if (parameter != null) {
        foreach(var p in parameter) {
            liparameter.Add(new SelectListItem {
                Text = p.RepPmName, Value = p.RepPmID.ToString()
            });

        }
    }
    return Json(new SelectList(liparameter, "Value", "Text", JsonRequestBehavior.AllowGet));
}

мой JQuery Javascript в представлении

<script type = "text/javascript" >
  $(document).ready(function() {

      $("#reports").change(function() {
          $("#parameters").empty();
          $.ajax({
              type: 'POST',
              url: '@Url.Action("getparameter")',
              dataType: 'json',
              data: {
                  id: $("#reports").val()
              },
              success: function(parameters) {

                  $.each(parameters, function(i, parameter) {
                      $("#parameters").append('<option value="' +
                          parameter.Value + '">' +
                          parameter.Text + '</option>');
                  });
              },
              error: function(ex) {
                  alert('Failed.' + ex);
              }
          });
          return false;
      })
  });
</script>
...