2011-12-27 2 views
4

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

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

1 список заполняется на begninnging с места. и на смену я могу получить данные в второй мой список Сотрудника, но данные я передать это Enumrable даты»

Как только я пытаюсь отправить сотрудников более с ID и имя ничего не случилось

код

Controller..:

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> 

ответ

2

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

+0

О, боже ... Я всегда забываю, что JS чувствителен к регистру .../facepalm на себе. Огромное спасибо. i wishi имел intellisence для JS в VS – Timsen

+0

@Timsen без проблем, Happy Holidays! – Craig

Смежные вопросы