• mvc关于三级联动修改时数据回显


    在网上找了好久,都没有找到自己想要的那种效果,最后还是自己写出来了, 虽然方法有点笨。

    这是Controller里

     1 public ActionResult Edit(string id)
     2         {
     3             //查询收货地址信息
     4             var data = AddressDirectoryLogic.GetById(id);
     5 
     6             //先把省份查出来装到ViewBag 里
     7             var provinces = RegionLogic.GetChinaProvinces();
     8             List<SelectListItem> pItems = new List<SelectListItem>();
     9             foreach (var p in provinces)//根据列表获取省名称和ID 
    10             {
    11                 pItems.Add(new SelectListItem { Text = p.Name, Value = p.Id });
    12             }
    13             ViewBag.Province = pItems;
    14 
    15             //城市
    16             var city = RegionLogic.GetCities(data.Province);
    17             List<SelectListItem> item = new List<SelectListItem>();//获取城市列表 
    18             foreach (var c in city)//根据列表获取城市名称和ID  
    19             {
    20                 item.Add(new SelectListItem { Text = c.Name, Value = c.Id });
    21             }
    22             ViewBag.City = item;
    23             //把收货地址信息里的省份和城市值保存,好做显示
    24             ViewBag.ProvinceId = data.Province;
    25             ViewBag.CityId = data.City;
    26 
    27             return View(data);
    28         }

    js

     1 $(document).ready(function () {
     2             //GetProvince();//加载省份
     3             $('#T_Province').val('@ViewBag.ProvinceId');
     4             $('#T_City').val('@ViewBag.CityId');
     5             $("#T_Province").change(function () { GetCity() });//加载城市
     6         });
     7         function GetProvince() {
     8             $("#T_Province").empty();//清空省份SELECT控件
     9             $.getJSON("/AddressDirectory/GetProvincelist", function (data) {
    10                 $.each(data, function (i, item) {
    11                     $("<option></option>").val(item["Id"]).text(item["Name"]).appendTo($("#T_Province"));
    12                 });
    13                 GetCity();
    14             });
    15         }
    16         function GetCity() {
    17             $("#T_City").empty();//清空城市SELECT控件
    18             $.getJSON("/AddressDirectory/GetCitylist", { pid: $("#T_Province").val() },
    19             function (data) {
    20                 $.each(data, function (i, item) {
    21                     $("<option></option>").val(item["Value"]).text(item["Text"]).appendTo($("#T_City"));
    22                 });
    23             });
    24         }

    html

     @Html.DropDownListFor(model=>model.Province, (List<SelectListItem>)ViewBag.Province,new {@class= "combobox", id = "T_Province" })
                       
     @Html.DropDownListFor(model => model.City,(List<SelectListItem>)ViewBag.City,new {@class= "combobox" , id = "T_City" })

    上面的部分js 是参照别人的。下面是部分js 的源码;

    源码:http://blog.csdn.net/qq_17202783/article/details/43371421

  • 相关阅读:
    Linux下使用Eclipse 远程调试
    关于Mysql分区和分表
    Mysql点滴
    父窗口与iFrame之间调用方法和元素
    pl/sql developer安装使用即时客户端
    Java的四大基础特性
    Get与Post的小知识
    ibatis 中 $与#的区别
    Eclipse安装配置Maven
    Git学习
  • 原文地址:https://www.cnblogs.com/longshanshan/p/6112873.html
Copyright © 2020-2023  润新知