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

这是Controller里

 public ActionResult Edit(string id)
{
//查询收货地址信息
var data = AddressDirectoryLogic.GetById(id); //先把省份查出来装到ViewBag 里
var provinces = RegionLogic.GetChinaProvinces();
List<SelectListItem> pItems = new List<SelectListItem>();
foreach (var p in provinces)//根据列表获取省名称和ID
{
pItems.Add(new SelectListItem { Text = p.Name, Value = p.Id });
}
ViewBag.Province = pItems; //城市
var city = RegionLogic.GetCities(data.Province);
List<SelectListItem> item = new List<SelectListItem>();//获取城市列表
foreach (var c in city)//根据列表获取城市名称和ID
{
item.Add(new SelectListItem { Text = c.Name, Value = c.Id });
}
ViewBag.City = item;
//把收货地址信息里的省份和城市值保存,好做显示
ViewBag.ProvinceId = data.Province;
ViewBag.CityId = data.City; return View(data);
}

js

 $(document).ready(function () {
//GetProvince();//加载省份
$('#T_Province').val('@ViewBag.ProvinceId');
$('#T_City').val('@ViewBag.CityId');
$("#T_Province").change(function () { GetCity() });//加载城市
});
function GetProvince() {
$("#T_Province").empty();//清空省份SELECT控件
$.getJSON("/AddressDirectory/GetProvincelist", function (data) {
$.each(data, function (i, item) {
$("<option></option>").val(item["Id"]).text(item["Name"]).appendTo($("#T_Province"));
});
GetCity();
});
}
function GetCity() {
$("#T_City").empty();//清空城市SELECT控件
$.getJSON("/AddressDirectory/GetCitylist", { pid: $("#T_Province").val() },
function (data) {
$.each(data, function (i, item) {
$("<option></option>").val(item["Value"]).text(item["Text"]).appendTo($("#T_City"));
});
});
}

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

mvc关于三级联动修改时数据回显的更多相关文章

  1. Javaweb项目中修改表单时数据回显方法

    1.前言 先来说下什么是数据回显,比如我要修改我的个人信息,点击修改按钮后进入修改界面,在这个界面中直接将原来的信息显示在表单中,而不是空表单,这就是数据回显 2.思路 当点击修改的时候,从数据库中查 ...

  2. vue项目编辑修改时批量回显数据

    selectCityServiceOne() { let sendData = { token: this.token, id: this.id } post_ajax('backStage/city ...

  3. 关于element-ui级联菜单(城市三级联动菜单)和回显问题

    https://segmentfault.com/a/1190000020458087 这是我写的,可以去看看,希望对你们有帮助!!!

  4. 二十 Struts2的标签库,数据回显(基于值栈)

    通用标签库 判断标签:<s:if>.<s:elseif>.<s:else> 循环标签:<s:iterator> 其他常用标签: <s:proper ...

  5. 在使用ajax实现三级联动调用数据库数据并通过调出的数据进行二级表单查询

    在使用ajax实现三级联动查询数据库数据后再使用ajax无刷新方式使用三级联动调出的数据进行二级查询 但是现在遇到问题,在二级查询的时候期望是将数据以表格的形式展示在三级联动的下方,但是现在在查询后会 ...

  6. validate参数校验和数据回显

    服务端校验 校验理解 项目中,通常使用较多的是前段的校验,比如在页面中js校验.对于安全要求较高的建议在服务端进行校验. 服务端校验: 控制层controller:校验页面请求的参数的合法性.在服务端 ...

  7. SpringMVC【参数绑定、数据回显、文件上传】

    前言 本文主要讲解的知识点如下: 参数绑定 数据回显 文件上传 参数绑定 我们在Controller使用方法参数接收值,就是把web端的值给接收到Controller中处理,这个过程就叫做参数绑定.. ...

  8. SpringMVC由浅入深day02_5数据回显_6异常处理器

    5 数据回显 5.1 什么数据回显 表单提交失败需要再回到表单页面重新填写,原来提交的数据需要重新在页面上显示. 5.2 pojo数据回显方法 1.springmvc默认对pojo数据进行回显. po ...

  9. SpringMVC学习--数据回显

    简介 表单提交失败需要再回到表单页面重新填写,原来提交的数据需要重新在页面上显示. 简单数据类型 对于简单数据类型,如:Integer.String.Float等使用Model将传入的参数再放到req ...

随机推荐

  1. Swift分割字符串

    var str_componets = "I Like Swift " str_componets.componentsSeparatedByString(" " ...

  2. iOS 之 UIStackView

    UIStackView是iOS9新推出的布局控件,它的出现,可以说颠覆了以往的布局方式. 问题时,如果我使用UIStackView,它能用在iOS7.8系统中吗? 我要测试一下.测试程序我放到gith ...

  3. 简单的shared_ptr实现

    RT,代码参考了STL中shard_ptr的实现,基本原理是引用计数,利用Ref_cnt类来管理内存,在shared_ptr创建时创建,此后shared_ptr仅是在拷贝复制析构的过程中对引用进行修改 ...

  4. ssh框架整合log4j

    这个是摘录的别人博客的地址,请点击下面的链接...... http://www.cnblogs.com/rushoooooo/archive/2011/08/29/2157361.html

  5. cocharan-Armitage trend test

    Cochran-Armitage trend test是我们常说的趋势卡方检验,一般是针对基因型的2*3列联表的.譬如说三种基因型,如果按照某一个allele来看,可以有0.1.2个拷贝,是有序的,我 ...

  6. JQuery flot API文档 中文版

    调用plot函数的方法如下: var plot = $.plot(placeholder, data, options) 其 中placeholder可以是JQuery的对象,DOM元素或者JQuer ...

  7. 企业为什么要实行ERP系统,它到底有什么好处呢?

    目前,我国正在大力推行企业信息化建设,作为一种包含了现代管理思想的ERP(Enterprise Resource Planning)系统日益成为现代企业业务运作的主要工具,为了提升管理水平,提升企业竞 ...

  8. doubango地址配置

    转自:http://wiki.sip2sip.info/projects/sip2sip/wiki/SipDeviceConfiguration SIP Device Configuration Th ...

  9. Bootstrap入门(二十七)JS插件4:标签页

    Bootstrap入门(二十七)JS插件4:标签页 标签页的切换可以带动内容的变化 首先我们引入CSS文件 <link href="bootstrap.min.css" re ...

  10. Golomb及指数哥伦布编码原理介绍及实现

    2017年的第一篇博文. 本文主要有以下三部分内容: 介绍了Golomb编码,及其两个变种:Golomb-Rice和Exp-Golomb的基本原理 C++实现了一个简单的BitStream库,能够方便 ...