【发布时间】:2019-03-02 22:01:53
【问题描述】:
我正在通过 ASP.NET-MVC 开发 Web 应用程序。
型号:
public partial class MyModel
{
public string TEST { get; set; }
}
HTML:
@model IList<MyModel>
@Html.DropDownList("dropDownListSelectToAnotherDropDownList", (SelectList)ViewBag.testList[0], null, new { id = "dropDownListSelectToAnotherDropDownList", title = "[--Select to all--]", @class = "selectpicker form-control", data_style = "btn btn-default", data_width = "100%", data_live_search = "true", data_size = "9" })
@for (var i = 0; i < Model.Count; i++)
{
@Html.DropDownListFor(m => Model[i].TEST, (SelectList)ViewBag.testList[i], null, new { id = "dropDownListTest" + i, title = "[--Select Test--]", @class = "selectpicker form-control", data_style = "btn btn-default", data_width = "100%", data_live_search = "true", data_size = "9" })
}
jQuery:
$('#dropDownListSelectToAnotherDropDownList').on('keyup change', function () {
@for (var i = 0; i < Model.Count; i++)
{
$('dropDownListTest' + i).val($(this).val());
//$('dropDownListTest' + i).selectpicker('val', $(this).val());
}
});
如上面的代码,我会得到 dropDownListSelectToAnotherDropDownList 和许多 dropDownListTest(例如:dropDownListTest0、dropDownListTest1、...、dropDownListTestN),这取决于模型的数量。 我想在 dropDownListSelectToAnotherDropDownList 更改时创建事件。该事件将从 dropDownListSelectToAnotherDropDownList 获取数据,然后设置为所有 dropDownListTest。但这是行不通的。 有人可以帮我推荐一下吗?
【问题讨论】:
-
您要创建级联
DropDownList吗?斯蒂芬的这个小提琴可能是一个好的开始:dotnetfiddle.net/1bPZym. -
@for (var i = 0; i < Model.Count; i++)是剃须刀代码,在发送到视图之前在服务器上执行。摆脱那些id属性并为选择器使用类名 =var selected = $(this).val(); $.each('.selectpicker', function() { $(this).val(selected); }); -
@TetsuyaYamamoto,是的,我已经创建了下拉列表。我想在 jquery 更改下拉列表时创建事件。该事件将从下拉列表中获取数据,然后设置为另一个下拉列表。
-
@StephenMuecke,理解并感谢您。
标签: c# jquery html asp.net-mvc twitter-bootstrap