MVC 二级联动

后台代码,获取数据如下:

/// <summary>
        /// 获取省份
        /// </summary>
        public JsonResult GetProvincelist()
        {
            return Json(db.Province.ToList(),JsonRequestBehavior.AllowGet);
        }
        /// <summary>
        /// 获取城市
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public JsonResult GetCitylist(int pid)
        {
            List<CityModel> list=db.City.Where(c => c.Province.PID == pid).ToList();
            List<SelectListItem> item = new List<SelectListItem>();
            foreach (var City in list)
            {
                item.Add(new SelectListItem { Text = City.CityName, Value = City.CID.ToString() });
            }
            return Json(item, JsonRequestBehavior.AllowGet);
        }

定义两个下拉框:

<span>省份:</span>
<select id="Province" >
<option>请选择</option>
</select>

<span>市:</span>
<select id="City">
<option>请选择</option>
</select>

使用jquery获取控制器里返回的值加载到下拉框中:

<script type="text/javascript">
    $(function () {
        GetProvince(); //加载省份
        $("#Province").change(function () {
            GetCity();
        });
    });
    function GetProvince() {
//        $("#Province").empty();
        $.getJSON(
            "/Home/GetProvincelist",
            function (data) {
                alert(data);
                $.each(data, function (i, item) {
                    $("<option></option>").val(item["PID"]).text(item["ProvinceName"]).appendTo($("#Province"));
                })
            });
//            GetCity();
        }
        function GetCity() {
            $("#City").empty();
            $.getJSON(
            "/Home/GetCitylist",
            { pid: $("#Province").val() },
            function (data) {
                $.each(data, function (i, item) {
                    $("<option></option>").val(item["Value"]).text(item["Text"]).appendTo($("#City"));
                    
                })
            });
        }
</script>

 

→原文链接←

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值