Каскадные выпадающие MVC 3 - PullRequest
       5

Каскадные выпадающие MVC 3

4 голосов
/ 27 декабря 2011

Я собираюсь создать каскадные выпадающие списки в MVC 3. Logik прост, для каждого места может быть много сотрудников, поэтому лучший способ понять, как его реализовать, - это выпадающие списки.

то, что у меня сейчас есть, это:

1 список заполняется при запуске с Locations.и при изменении я могу получить данные во второй список моих сотрудников, но данные, которые я передаю, - «Перечисляемые даты».

Как только я попытаюсь отправить сотрудников с идентификатором и ничего не произойдет.* Код контроллера:

public ActionResult Months(string locId)
{
  var k = service.getEmployeeForLocation(Int32.Parse(locId))
                 .ToList()
                 .Select(x => new
                         {
                           Value = .EmployeeId,
                           Text = x.Name 
                         });

  return Json(k,JsonRequestBehavior.AllowGet); 
}

Просмотр:

<tr>
<td>Choose your closest location : 
    @Html.DropDownListFor(x => x.SelectedLocation, Model.Locations)</td>
<td>Choose your closest location : 
    @Html.DropDownListFor(x => x.SelectedEmployee, 
                          Enumerable.Empty<SelectListItem>(), "-- select month --")
</tr>

Javascript

</script>
<script type="text/javascript">
    $('#SelectedLocation').change(function () {
        var selectedLocation = $(this).val();
        if (selectedLocation != null && selectedLocation != '') {
            $.getJSON('@Url.Action("Months")', { locId: selectedLocation }, 
            function (employee) {

                var EmployeeSelect = $('#SelectedEmployee');
                //                monthsSelect.empty();

                $.each(employee, function (index, employee) {
                    EmployeeSelect.append($('<option/>', {
                        value: employee.value,
                        text: employee.text
                    }));
                });
            });

        }
    });
</script>

1 Ответ

2 голосов
/ 27 декабря 2011

Одна вещь, которую я вижу, это то, что имена ваших переменных в вашем действии начинаются с верхнего регистра, а JavaScript чувствителен к регистру.На вашей странице вы используете строчные буквы, но они должны быть в верхнем регистре, если вы хотите сохранить регистр в контроллере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...