0

我正在 MVC3 中创建一个应用程序,其中我有很多下拉列表现在根据在第一个下拉列表中选择的值填充第二个下拉列表。我需要为此编写 Ajax,而且我很难做到这一点。

我有我的第一个下拉菜单“选择课程”,现在在该特定课程 ID 的帮助下选择了哪个课程,从数据库中选择了相应的状态。

例如,如果课程是“MCA”,则状态下拉列表必须填充诸如马哈拉施特拉邦、拉贾斯坦邦等状态。

我为 Ajax 尝试了以下代码,但它不起作用并给我一个错误

  $("#Course").change(function () {
        var Courseid = $("#Course").val();
        var urlCourselocation = '@Url.Action("FetchstatebyCourse")';
        $.ajax({
            type: "POST",
            url: urlCourselocation,
            data: { id: Courseid },
            success: function (data) {
                          $('#State').empty();
                          $('#State')
                        .append($('<option>', { value: "0" })
                        .text("-- Select State --"));
                    $.each(returndata, function (key, value) {

                    $('#State')
                        .append($('<option>', { value: value.Value })
                        .text(value.Text));
                });
               }
        });
    });

在控制器中我写了以下函数:

 public ActionResult FetchHobbyDetailByHobbyId(int Id)
    {
        LearnerService learnerservice = new LearnerService();
        /* Here is some Code to fetch the state id from the database*/
        ICollection<ProvincialState> state = learnerservice.FetchStateByStateid(stateid);
        ViewBag.State = state;

        if (HttpContext.Request.IsAjaxRequest())
            return Json(new SelectList(
                            state,
                           "ProvincialStateID",
                           "ProvincialStateName"));
        return View();
    }

如果我错了,请帮助我使用代码并纠正我..

4

1 回答 1

0

哦,我想我看到了这个问题......不应该:

 $.each(returndata, function (key, value) {

 $.each(data, function (key, value) {
于 2012-04-12T18:52:28.657 回答