none
请问程序Jquery来实现级联列表,为什么没反应? RRS feed

  • 问题

  • <script src="~/Scripts/jquery-1.10.2.js"></script>

    @Html.DropDownList("RegionID", (IEnumerable<SelectListItem>)ViewBag.Region, "--请选择--", new { id = "RegionID", onchange = "GetCityClass(this)" }) <script type="text/javascript"> function GetCityClass(id) { $("#CityClassID").empty(); $.ajax({ url: "Jquery/GetCityClass/" + $("#RegionID").val(), type: "GET", dataType: "JSON", success: function (data) { if (data.length == 0) { $("<option></option>") .val("0") .text("--请选择--") .appendTo($("#CityClassID")); } $.each(data, function (i, item) { $("<option></option>") .val(item["Id"]) .text(item["CityName"]) .appendTo($("#CityClassID")); }); }, errot: function () { allert("错误"); } }); } </script>

    JqueryControllers.cs

            

            public ActionResult Index()
            {
                var GenreQry2 = from a in db.Regions
                                orderby a.area_code
                                select new SelectListItem
                                {
                                    Text = a.area_name,
                                    Value = a.area_code
                                }
                             ;
                ViewData["Region"] = new SelectList(GenreQry2, "Value", "Text");

     

                var model = new MyViewModel();
                return View(model);
            }

    public ActionResult GetCityClass(string AreaCode="") { List<SelectListItem> GenreQry2 = (from a in db.Citys orderby a.CityName where a.AreaCode == AreaCode select new SelectListItem { Text = a.CityName, Value = Convert.ToString(a.Id) }).ToList(); ; return Json(GenreQry2, JsonRequestBehavior.AllowGet); }





    • 已编辑 尺蠖 2014年5月16日 1:59
    2014年5月16日 1:51

全部回复

  • 天哪,这个论坛这么冷清了,幸好我终于找到答案了。

    原来ajax这段这么写就可以了。
      var objkind = $("#CityClassID");
     $.each(data, function (index, item) {
                               // debugger;
                                objkind.append($('<option/>', {
                                    value: item.Value,
                                    text:item.Text
                                }))
                                
                            });

    jquery的调试,最重要加入debugger可以设置断点来观察变量,在vs上设置断点都无效。

    • 已建议为答案 Kevin Shen 2014年5月23日 1:16
    2014年5月20日 1:54
  • 学习了。
    2014年5月20日 4:27