.net mvc 二级联动的实现

近期突然要做这个玩意,说实话其实做二级联动都已经有很多很多的第三方插件能够实现的,我就带着好奇想要做一个不是第三方插件的,做完了,现在贴下代码吧!


html :

js:

 <script type="text/javascript">
                $(document).ready(init);

                function init() {
                    $("select[name='provinceName']").change(function () {
                        var selectedProvince = $(this).val();
                        ShowCityWithSelectedProvince(selectedProvince);
                    });
                }

                function ShowCityWithSelectedProvince(province) {
                    $.ajax({
                        url: "@Url.Action("ShowCity", "AdUserInfo")",
                        data: { provinceId: province },
                        success: function (data) {
                            $("#city").html(data);
                        }
                    });
                }
    </script>


页面里面:

 <div class="form-group">
                <div class="label">
                    <label>邮寄地址:</label>
                </div>
                <div class="field">
                    <div id="province">
                        @Html.DropDownList("provinceName", Model.province_dropdownlist, new { @name = "provinceName", @class = "input w20" })
                    </div>
                    <div id="city">
                        @Html.Partial("PartialCity")
                    </div>
                    <div id="area">
                        @Html.TextBoxFor(m => m.dataModel.MailAddress, new { @class = "input w50", @placeholder = "请输入邮寄地址" })
                    </div>
                    <div class="tips"></div>
                </div>
            </div>


Partial  页面:

@{
    ViewBag.Title = "PartialCity";
}

@Html.DropDownList("cityName",(List<SelectListItem>)ViewBag.City, new { @name = "cityName",@class ="input w20", @style = ((List<SelectListItem>)ViewBag.City).Any() ? "" : "display:none" })


Controllers:

AdUserInfo/ShowCity

 /// <summary>
        /// 区域二级联动
        /// </summary>
        /// <param name="provinceId"></param>
        /// <returns></returns>
        public ActionResult ShowCity(string provinceId)
        {
            List<Zshd_SSP_Area> areaAll = traffBll.GetAdArea().ToList();
            List<Zshd_SSP_Area> cityList = areaAll.Where(city => city.ParentId == Convert.ToInt32(provinceId)).ToList();
            List<SelectListItem> citys = new List<SelectListItem>();
            citys.AddRange(cityList.Select(area => new SelectListItem() { Text = area.Name, Value = area.Id.ToString() }).ToList());
            ViewBag.City = citys;
            return PartialView("PartialCity");
        }



还有初始化的是要赋值,其实数据源,也是自己可以去定义的



 











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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值