html下拉列表选择后自动刷新,如何在另一个下拉列表更改后刷新Html.DropDownGroupList...

刷新Html.DropDownGroupList时遇到困难。 我有两个取决于对方的下拉列表:制作和模型。您应该将Models下拉列表分组,如您在附件截图中看到的那样。如何在另一个下拉列表更改后刷新Html.DropDownGroupList

e618ef4260c121c2dad08cd0771486ed.png

当我在型号下拉列表填充数据的页面输入,它是正确的分组,但是当我改变第一个下​​拉,该模型是无法正确刷新。

在控制器我有这样的代码:

public ActionResult GetModels(string id)

{

if (!string.IsNullOrEmpty(id))

{

int number;

bool result = Int32.TryParse(id, out number);

if (!result)

return Json(null);

var selectedMake = makeRepository.GetMakeByID(number);

var list1 = db.Models.Where(m => m.MakeID == selectedMake.ID).ToList();

List models = new List();

foreach (var items in list1)

{

models.Add(new GroupedSelectListItem

{

Text = items.Name,

Value = items.ID.ToString(),

GroupName = items.GroupName,

GroupKey = items.GroupName

});

}

ViewBag.Alma = models;

return Json(models, JsonRequestBehavior.AllowGet);

}

return Json(null);

}

,并在视图:

@Html.DropDownGroupList("models", ViewBag.Alma as List, "Select Model", new

{

@class = "dropdown-toggle col-md-9 form-control"

})

这是我尝试刷新下拉代码:

$.ajax({

type: 'POST',

url: '@Url.Action("GetModels")',

dataType: 'json',

data: { id: $("#makes").val() },

success: function (models) {

if (window.console) {

console.log(JSON.stringify(models))

}

$.each(models, function (i, model) {

$("#models").append

('' +

model.Text + ''

);

});

}

});

这是刷新后的下拉方式

a8bbe44377f4b09043efa847ebc0da9b.png

该分组不起作用了。我知道这是问题:

$("#models").append('' + model.Text + '');

但如何做到这一点ajax调用我的下拉列表?我没有太多的Ajax经验,javascript。

你能建议如何刷新模型下拉?

2017-01-10

Orsi

+0

你使用什么插件('DropDownGroupList()'不是MVC的一部分) ?你为什么要更新第二个下拉列表 –

+0

你需要为你的'GetModels()'方法显示控制器方法 - 它没有以正确的结构返回数据,它需要是一个嵌套集合 - 也就是一个集合查看模型,其中包含组名称的属性和包含选项值和文本属性的视图模型的集合 –

+0

我更新了问题,我添加了GetModels()方法。我遵循DrodownGroupList的这个例子:http://www.jquery2dotnet.com/2014/01/html5-dropdownlist-optgroup-tag-in-mvc.html –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值