Jquery multiselect在POST后返回一个选定的查询
本文关键字:一个 查询 multiselect POST 返回 Jquery | 更新日期: 2023-09-27 18:26:39
我有一个Jquery multiselect
控制
$(function () {
$(".multiselect").multiselect().multiselectfilter({
filter: function (event, matches) {
if (matches.length != null && !matches.length) {
// do something
}
}
});
});
这与DropDownListFor
相连
@Html.DropDownListFor(x => x.ID, new MultiSelectList(Model.Employees, "Id", "Name"), "Please Select", new {multiple = "multiple", @class = "multiselect"})
当我按下按钮发布时,强类型模型会发送列表中选中的任何人。好的但是,在发布之后,它只显示DropDownListFor
中的第一个选定项目,而不显示其他项目。当帖子发生时,我确实会用选择的 ID发回模型
// Model.ID which is a `int[]` is bounded to the `DropDownListFor` above has multiple values inside it.
return View("View" Model)
我需要对Jquery
或razor
侧执行某些操作以在回发时显示其他选定项目吗?
感谢
在msdn中,提供一个接收selectedValues的构造函数。
public MultiSelectList(
IEnumerable items,
string dataValueField,
string dataTextField,
IEnumerable selectedValues
)
@Html.DropDownListFor(x => x.ID, new MultiSelectList(Model.Employees, "Id", "Name", Model.ToList()), "Please Select", new {multiple = "multiple", @class = "multiselect"})
哇,好吧,我发现问题了。
我不确定是.NET错误还是我需要在代码中更改的东西,但更改
@Html.DropDownListFor(x => x.ID, new MultiSelectList(Model.Employees, "Id", "Name"), "Please Select", new {multiple = "multiple", @class = "multiselect"})
至
@Html.ListBoxFor(x => x.ID, new MultiSelectList(Model.Employees, "Id", "Name"), "Please Select", new {multiple = "multiple", @class = "multiselect"})
只是神奇地起作用。
现在,在我寻找解决方案的过程中,我从未看到过一篇帖子说"DropDownListFor不适用于multiSelectList或上面的任何内容,但我很乐意有人解释我做错了什么?
然而,这可能会使搜索解决方案的人节省数小时的时间。
感谢所有提供帮助的人:)