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

这是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. mysql ++中文乱码问题

    使用mysql++读取mysql数据库,数据表中字符集为utf8,但是读取的时候中文字符串不能够正常显示.下面是测试程序: #include <iostream> #include < ...

  2. docker mac 安装并初始化GO环境

    mac 环境下,安装docker 下载链接:https://download.docker.com/mac/stable/Docker.dmg 下载完毕后,直接双击安装,下一步直到最后 创建docke ...

  3. MYSQL 函数复习

    数学函数    ABS(X)    返回X的绝对值    SQRT(x)        返回非负数X的二次方根    MOD(x,y)    返回x被y除后的余数    CEIL(x)         ...

  4. HDU2066:一个人的旅行(Dijkstra)

    Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...

  5. jQuery插件Flot实战Demo

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  6. jQuery事件触发和参数传递

    jQuery事件触发和参数传递: 参考:http://www.jb51.net/article/36249.htm <%@ page language="java" impo ...

  7. Objective-C处理动态类型函数集

    -(BOOL) isKindOfClass:class-object 对象是不是class-object或其子类的实例-(BOOL) isMemberOfClass:class-object 对象是不 ...

  8. angular实现form验证

    先上效果页面:https://lpdong.github.io/myForm-1/ 其中几个知识点 1.angularJs提供了几个新的type类型: type="password" ...

  9. Bootstrap入门(二十四)data属性

    Bootstrap入门(二十四)data属性 你可以仅仅通过 data 属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码.这是 Bootstrap 中的一 ...

  10. KB奇遇记(3):IT现状

    2015年8月3号,终于告别了过去来到了KB. 公司给安排的住房是一间套房里的小房间,小的简直连坐的地方都没有了,中间一个大床将房间隔了两边,显得特别狭小.由于是刚来,我也不好要求太多.但就这个小房间 ...