jquery - 级联下拉菜单 MVC 3

标签 jquery asp.net-mvc asp.net-mvc-3 jquery-ui

我即将在 MVC 3 中创建级联下拉列表。Logik 很简单,每个位置可能有很多员工,所以我能弄清楚如何实现它的最佳方法是下拉列表。

我现在拥有的是:

1 个列表一开始就填满了位置。并且在更改时,我可以将数据获取到我的第二个员工列表中,但我传输的数据是可枚举日期”。

当我尝试向员工发送 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>

最佳答案

我可以看到的一件事是,您的操作中的变量名称以大写字母开头,并且 JavaScript 区分大小写。在您的页面中,您使用的是小写字母,但如果您想将大小写保留在 Controller 中,则这两个字母应该为大写字母。

关于jquery - 级联下拉菜单 MVC 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8640196/

相关文章:

asp.net - 与 jquery 调用 webmethod 一致出现 "401 Unauthorized"错误

asp.net - 获取 Controller 中隐藏字段的值 (ASP.NET MVC)

asp.net-mvc-3 - 如何从 MVC3 中的 LINQ 查询创建 DropDownList?

c# - 如何将基于 'using' 的 GC 生命周期打开为基于 'create-dispose' 的生命周期?

javascript - 如果 Jquery 加载失败则加载

javascript - 仅当所有输入字段均为空时才显示错误消息框

javascript - 在 ChartJs 的 Linechart 点内添加图像

jquery - 使用 ASP.NET MVC 和 jquery 实现 AJAX 的最佳方法是什么?

asp.net-mvc - 如何确定编辑器模板中的模型数组索引

asp.net-mvc-3 - Mvc 4 单元测试概念