问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jquery+ajax实现前台后台数据交互

发布网友 发布时间:2022-04-24 00:36

我来回答

1个回答

热心网友 时间:2022-04-22 15:22

页面代码
<div id="UserSearch">
<select id="AreaType" name="AreaType">
</select>
<select id="AreaLevel1" name="AreaLevel1">
</select>
<select id="AreaLevel2" name="AreaLevel2">
</select>
<select id="AreaLevel3" name="AreaLevel3">
</select>
<span>门牌号:</span>
<input id="HouseNumber" name="HouseNumber" style="width: 60px" type="text" />
<span>客户名称:</span>
<input id="UserName" name="UserName" style="width: 60px" type="text" />
<input type="submit" value="搜索" />
</div>
JS代码

<script type="text/javascript">

$(document).ready(function () {
GetAreaType();
$("#AreaType").change(function () { GetAreaLevel1(); });
$("#AreaLevel1").change(function () { GetAreaLevel2(); });
$("#AreaLevel2").change(function () { GetAreaLevel3(); });
});
function GetAreaType() {
var url = "/Charge/GetAreaType/"; //规则是 控制器/方法/参数
$.getJSON(
url,
function (data) {
$("#AreaType").html('');
$.each(data, function (i, item) {
$("#AreaType").append($("<option></option>").val(item.Value).html(item.Text));
});
GetAreaLevel1();
});
}

function GetAreaLevel1() {
var url = "/Charge/GetAreaLevel1/" + $("#AreaType").val(); //规则是 控制器/方法/参数
$.getJSON(
url,
function (data) {
$("#AreaLevel1").html('');
$.each(data, function (i, item) {
$("#AreaLevel1").append($("<option></option>").val(item.Value).html(item.Text));
});
GetAreaLevel2();
});
}

function GetAreaLevel2() {
var url = "/Charge/GetAreaLevel2/" + $("#AreaLevel1").val(); //规则是 控制器/方法/参数
$.getJSON(
url,
function (data) {
$("#AreaLevel2").html('');
$.each(data, function (i, item) {
$("#AreaLevel2").append($("<option></option>").val(item.Value).html(item.Text));
});
GetAreaLevel3();
});
}

function GetAreaLevel3() {
var url = "/Charge/GetAreaLevel3/" + $("#AreaLevel2").val(); //规则是 控制器/方法/参数
$.getJSON(
url,
function (data) {
$("#AreaLevel3").html('');
$.each(data, function (i, item) {
$("#AreaLevel3").append($("<option></option>").val(item.Value).html(item.Text));
});
});
}

</script>
后台代码:
public ActionResult GetAreaType()
{
IEnumerable<SelectListItem> list = new List<SelectListItem>();
list = context.供热区类型
.OrderBy(a => a.类型ID)
.Select(a => new System.Web.Mvc.SelectListItem
{
Text = a.类型名称.Trim(),
Value = a.类型ID.Trim()
});
if (Request.IsAjaxRequest())
{
return Json(list, JsonRequestBehavior.AllowGet);
}
else
{
return Json("");
}
}

public ActionResult GetAreaLevel1(string id)
{
IEnumerable<SelectListItem> list = new List<SelectListItem>();
list = context.供热区.Where(a => a.地址ID.Substring(0, 1) == id.Trim() && a.级数 == 1)
.OrderBy(a => a.地址ID)
.Select(a => new System.Web.Mvc.SelectListItem
{
Text = a.地址名称.Trim(),
Value = a.地址ID.Trim()
});
if (Request.IsAjaxRequest())
{
return Json(list, JsonRequestBehavior.AllowGet);
}
else
{
return Json("");
}
}

public ActionResult GetAreaLevel2(string id)
{
IEnumerable<SelectListItem> list = new List<SelectListItem>();
list = context.供热区.Where(a => a.地址ID.Substring(0, 3) == id.Trim() && a.级数 == 2)
.OrderBy(a => a.地址ID)
.Select(a => new System.Web.Mvc.SelectListItem
{
Text = a.地址名称.Trim(),
Value = a.地址ID.Trim()
});
if (Request.IsAjaxRequest())
{
return Json(list, JsonRequestBehavior.AllowGet);
}
else
{
return Json("");
}
}

public ActionResult GetAreaLevel3(string id)
{
IEnumerable<SelectListItem> list = new List<SelectListItem>();
list = context.供热区.Where(a => a.地址ID.Substring(0, 6) == id.Trim() && a.级数 == 3)
.OrderBy(a => a.地址ID)
.Select(a => new System.Web.Mvc.SelectListItem
{
Text = a.地址名称.Trim(),
Value = a.地址ID.Trim()
});
if (Request.IsAjaxRequest())
{
return Json(list, JsonRequestBehavior.AllowGet);
}
else
{
return Json("");
}
}
类似这样的*联动下拉框的方法就能解决你的问题。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人教版小学英语课本哪里能下载到MP3 小学英语同步听力音频去哪里找 去陆丰旅行,要提前做好什么准备? 请教高手:苹果6s能不能安装两个微信?谢谢指点! 对于一个在女性内衣店工作的男性,你们怎么看待 ...湖是世界最深和蓄水量最大的咸水湖 B.死海是世界最低点 C.马来群 ... ...世界最大的湖泊___世界上人口最多的国家___世界上面积最大... 世界最深和蓄水量最大的湖是什么?世界最低点是哪?世界面积最大的高原... 尚赫净水器滤芯 如何清洗尚赫 如何通过ajax将数据从前台传到后台 所谓前后端分离只用ajax,这样的做法对吗 ajax前端和后端怎么配合 前端后端的数据交互(ajax)怎么处理比较好 web开发中,怎样做到前后端分离 完全通过ajax实现前后端交互 请教一个LINUX用SSH登录的命令问题。 碧根果不能和什么吃? 碧根果的热量是多少呢? linux改ssh端口命令 这个东西是什么? 碧根果是长在树上吗? 碧根果的大尖中尖小尖大圆中圆小圆是怎么分类的呢 小孩喜欢吃碧根果,有哪些意义? 碧根果怎么区分大圆,中圆,小圆,大尖,中尖,小尖 碧根果没加工和加工过的怎么区别 怎么挑选碧根果 怎样挑选碧根果 碧根果仁应该是软的还是硬的? 怎么挑选碧根果?? 在一个js里面,有两个ajax调后端接口,那后端服务怎么分清是哪个ajax调的? ajax请求数据并分页怎么做? 前端开发能否统一化,且部用ajax与后台相联? ajax怎么获取后台的数据? 华硕PA329C显示器硬件校色怎么弄? 如何用Win7显示颜色校准轻松校准显示器 ? 直肠癌手术后肠梗阻 直肠癌患者发生肠梗阻怎么办 液晶显示器要做设计用,如何校准屏幕颜色? 直肠癌引起的肠梗阻,还有没有救? 怎么给自己的显示器校色 直肠癌导至的肠梗阻可以做手术吗 直肠癌晚期出现肠梗阻怎么办 电脑显示屏如何校色 患者现在特别痛苦,肠梗阻一个月了,之前有过一次直肠癌手术,现在怎么办呢,不想做手术? apple显示器如何校准颜色? 利用显示器校色指的是什么打样 直肠癌怎么治呀??? 电脑校色文件怎么用 请专家答:直肠癌改道后又肠梗阻,如何治疗