zoukankan      html  css  js  c++  java
  • MVC4 DropDownList (二) — 省市联动

    1、添加省份和城市类

    //省份
        public class Province
        {
            public int Id { get; set; }
    
            public string Name { get; set; }
        }
    
        //城市
        public class City
        {
            public int Id { get; set; }
    
            public string Name { get;set;}
    
            public int ProvinceId { get; set; }
        }

    2、添加控制器

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using SupermarketManagement.Models;
    
    namespace SupermarketManagement.Controllers
    {
        public class LinkageController : Controller
        {
    
            List<Province> provinceList = new List<Province>();
            List<City> cityList = new List<City>();
    
            //初始化城市数据
            private void InitProvince()
            {
                provinceList.Add(new Province { Id = 1, Name = "河北省" });
                provinceList.Add(new Province { Id = 2, Name = "河南省" });
                provinceList.Add(new Province { Id = 3, Name = "广东省" });
    
                cityList.Add(new City { Id = 4, Name = "石家庄", ProvinceId = 1 });
                cityList.Add(new City { Id = 5, Name = "邢台", ProvinceId = 1 });
                cityList.Add(new City { Id = 6, Name = "保定", ProvinceId = 1 });
    
                cityList.Add(new City { Id = 7, Name = "郑州", ProvinceId = 2 });
                cityList.Add(new City { Id = 8, Name = "安阳", ProvinceId = 2 });
                cityList.Add(new City { Id = 9, Name = "洛阳", ProvinceId = 2 });
    
                cityList.Add(new City { Id = 10, Name = "广州", ProvinceId = 3 });
                cityList.Add(new City { Id = 11, Name = "中山", ProvinceId = 3 });
                cityList.Add(new City { Id = 12, Name = "佛山", ProvinceId = 3 });
            }
    
            //绑定省份
            public ActionResult Index()
            {
                InitProvince();
                var pEnumrable = provinceList.Select(p => new SelectListItem { Value = p.Id.ToString(), Text = p.Name });
                ViewBag.Province = pEnumrable;
                return View();
            }
    
            //获取城市
            public ActionResult ShowCity(int provinceId)
            {
                InitProvince();
                List<City> cList = new List<City>();
                cList = cityList.Where(c => c.ProvinceId == provinceId).ToList();
    
                return Json(cList, JsonRequestBehavior.AllowGet);
            }
        }
    
    
    }

    3、添加HTML

    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
        <script src="~/Content/jquery-1.8.3.min.js"></script>
        <script>
            $(function () {
                $("#Province").bind("change", function () {
                    var selectProvince = $(this).val();
    
                    //除了第一个都删除
                      $("#City option:not(:first)").remove();
                    $.getJSON("@Url.Action("ShowCity","Linkage")", { provinceId: selectProvince }, function (data) {
    
                        $.each(data, function (i, item) {
                            $("#City").append("<option value='"+item.Id+"'>"+item.Name+"</option>");
                        });
                    });
                });
            });
        </script>
    </head>
    <body>
    
        省份:@Html.DropDownList("Province", "请选择省份")<br />
        城市:<select id="City">
            <option value="">请选择城市</option>
        </select><br />
    </body>
    </html>

     

  • 相关阅读:
    随笔
    随笔
    随笔1
    随笔2
    intellij-maven-imports-have-broken-classpath
    如何使用idea把web项目打成war包
    spring-wind 搭建过程问题记录
    windows 64位 安装mvn提示 不是内部或外部命令
    面试碰到“为何从上家离职”...
    nginx 两台机器 出现退款失败问题
  • 原文地址:https://www.cnblogs.com/pingming/p/5061828.html
Copyright © 2011-2022 走看看