Я собираюсь создать каскадные выпадающие списки в 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>