.net mvc 二级联动的实现

来源:互联网 发布:java怎么调用构造函数 编辑:程序博客网 时间:2024/05/17 04:04

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


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
原创粉丝点击