请教三个 DropDownListFor 不刷新页面联动改变 的实现

 我来答
山水阿锐
推荐于2016-02-25 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.2亿
展开全部
首先,你的数据库结构应该有错。数据库中应该有的字段是,name,id,parentId。你这里我没有看到parentId,那你怎么联动?怎么知道省下面有哪些市?所以数据库的列必须有关联。
数据库有关联之后,写一个方法,根据parentId查询数据。控制器调用这个方法,并返回json数据。
在View中写js如下
function changer1(obj, i) {
obj.get(0).options.length = 0; //清空
$("<option></option>").text("请选择").appendTo(obj);
$.ajax({
type: 'GET',
url: '/home/ajax/getcitys/' + i,//这里改成你的根据parentId获取数据的方法
dataType: 'json',
success: function (data) {
var _data = data.Data.d;
$.each(_data, function (t, item) {
var temp = item.split("_");
$("<option></option>").val(temp[0]).text(temp[1]).appendTo(obj);
});
if (i == p) {
$("#drpCity").val(c);
}
else if (i == c) {
$("#drpDistrict ").val(d);
}

}
});
}
$(function () {
//初始化
$.ajax({
type: 'get',
dataType: 'json',
url: '/home/ajax/getcitys/1',//这里改成你的根据parentId获取数据的方法
data: { pid: 0 },
success: function (data) {
var _data = data.Data.d;
$.each(_data, function (j, item) {
var temp = item.split("_");
$("<option></option>").val(temp[0]).text(temp[1]).appendTo($("#drpProvince"));
});
$("#drpProvince").change(function () {
changer1($("#drpCity"), $(this).val());
if (p == "0") {
$("#drpDistrict").get(0).selectedIndex = 0;
}
});
$("#drpCity").change(function () {
changer1($("#drpDistrict"), $(this).val());
});
if (p != "0") {
$("#drpProvince ").val(p);
changer1($("#drpCity"), p);
if (c != "0") {
changer1($("#drpDistrict"), c);
}
}
}
});
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式