ASP.net 级联下拉列表

学习者

试图在 mvc 中实现国家/地区下拉菜单,但不能..

控制器:-

[HttpGet]
    public ActionResult GetCities(int StateId)
    {

        Business.Services.City cityService = new Business.Services.City();

        List<Business.Models.City> stateList = cityService.GetCityByStateId(StateId);

        //var jsonSerialiser = new JavaScriptSerializer();
        //var json = jsonSerialiser.Serialize(stateList);

        return Json(new { stateList }, JsonRequestBehavior.AllowGet);

    }

方法:

public List<Models.City> GetCityByStateId(int StateId)
        {
            try
            {
                var list = new List<SelectListItem>();

                Collection<DBParameters> parameters = new Collection<DBParameters>();
                parameters.Add(new DBParameters() { Name = "StateId", DBType = DbType.Int32, Value = StateId });
                var city = this.ExecuteProcedure<Models.City>("GetCityByState", parameters).ToList();

                //if (city != null && city.Count > 0)
                //{
                //    list = city.Select(x => new SelectListItem { Text = x.CityName, Value = x.StateId.ToString() }).ToList();
                //}

                return city;

            }
            catch (Exception ex)
            {
                throw;
            }
        }

更改事件:

 $('.ddlstate').change(function () {
    debugger;


    $.ajax({
        url: '@Url.Action("GetCities", "User")',
        type: "GET",
        data: { StateId: $(this).val() },
        dataType: "json",
        success: function (result) {
            debugger;
            //alert(result.stateList[0].CityId);
            $.each(result.stateList, function () {
                debugger;
                $('.cityddl').append($("<option></option>").val(CityId).html(CityName));
            });
        },
        error: function (result, status, jQxhr) {
            alert("Error: " + result + "-" + status + "-" + jQxhr);
        }
    });

});

我得到了方法和控制器中引用的计数,但是当我运行项目并更改状态下拉列表时,我得到了空白的城市下拉列表。怎么了?

布特楚姆

看起来您在 $.each() 调用中遗漏了一些东西。

  1. 您应该将 ajax 调用的 JSON 结果传递给 $.each
  2. 您还需要为回调函数提供一个参数,以便回调函数可以使用

它可能看起来像这样:

$.each(result.stateList, function(index, city) {
  $('.cityddl').append($("<option></option>").val(city.CityId).html(city.CityName));
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何设置asp.net下拉列表的样式

来自分类Dev

ASP.NET MVC +填充下拉列表

来自分类Dev

asp.net MVC 3中的下拉列表

来自分类Dev

MVC ASP.Net VB的下拉列表

来自分类Dev

ASP.net gridview编辑模式下的下拉列表问题

来自分类Dev

ASP.NET:删除下拉列表中的特定项目

来自分类Dev

如何应用ASP.net下拉列表的禁用样式

来自分类Dev

在asp.net MVC中的多个下拉列表到actionresult

来自分类Dev

Asp.net MVC如何用数字填充下拉列表

来自分类Dev

在asp.net MVC中使用下拉列表进行搜索

来自分类Dev

ASP.NET MVC 5设置下拉列表的值

来自分类Dev

在asp.net下拉列表中添加额外的标签/字段

来自分类Dev

如何使用asp.net通过下拉列表搜索记录

来自分类Dev

ASP.NET:如何从下拉列表到自动完成

来自分类Dev

如何从ASP.NET MVC中的枚举创建下拉列表?

来自分类Dev

用jquery ajax ASP.NET MVC填充下拉列表

来自分类Dev

asp.net MVC级联下拉列表

来自分类Dev

无法在ASP.NET MVC- C#的级联下拉列表中获取Chil表列表

来自分类Dev

如何用下拉列表过滤,我迷路了。ASP.NET

来自分类Dev

asp.net的级联下拉列表中的默认值

来自分类Dev

ASP.NET MVC下拉列表未选择值

来自分类Dev

发回时,asp.net下拉列表重复自身

来自分类Dev

ASP.NET Web窗体下拉列表选项innerText

来自分类Dev

在asp.net中选择多项的下拉列表

来自分类Dev

ASP.NET VB下拉列表

来自分类Dev

Gridview和asp.net下拉列表,添加全选

来自分类Dev

如何将Excel工作表绑定到ASP.NET C#中的级联下拉列表

来自分类Dev

如何使用asp.net mvc在数据库中保存级联下拉列表项

来自分类Dev

验证 asp.net 中的下拉列表