【发布时间】:2018-07-04 15:29:12
【问题描述】:
我的应用程序中有一个 Kendo Multiselect 组件,我可以在其中选择可用选项。
我的观点是这样的:
div class="editor-field col-width45">
<div>
@(Html.Kendo().MultiSelectFor(model => model.FeaturesValues)
.DataTextField("Name")
.HtmlAttributes(new { @class = "size100Percent", Id = "FeaturesSelect" })
.DataValueField("Id")
.Placeholder("Selecione...")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetFeatures", "Role");
})
.ServerFiltering(false);
}))
</div>
</div>
我想一次选择所有选项,而不是一一选择。
我寻找了一种方法来做到这一点,所有的解决方案都让我得到了这个结果:
- 我在视图中添加了一个按钮。
- 我创建了一个Js函数来全选:
我的代码是这样的:
div class="editor-field col-width45">
<div>
@(Html.Kendo().MultiSelectFor(model => model.FeaturesValues)
.DataTextField("Name")
.HtmlAttributes(new { @class = "size100Percent", Id = "FeaturesSelect" })
.DataValueField("Id")
.Placeholder("Selecione...")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetFeatures", "Role");
})
.ServerFiltering(false);
}))
</div>
</br>
<div>
@(Html.Kendo().Button()
.Name("SelectAll")
.HtmlAttributes(new { type = "button" })
.Content("Selecionar todos")
.Events(ev => ev.Click("selectAll")))
</div>
JavaScript:
function selectAll() {
var multiSelect = $("#FeaturesSelect").data("kendoMultiSelect");
var selectedValues = [];
for (var i = 0; i < multiSelect.dataSource.data().length; i++) {
var item = multiSelect.dataSource.data()[i];
selectedValues.push(item.Id);
}
multiSelect.value(selectedValues);
multiSelect.trigger("change");
}
我的结果是这样的: multiselect with button add all
一切正常!!!
我的问题是:
是否可以在剑道多选中创建一个复选框,用作全选,而没有这个按钮?
我想要的是这样的:
[不带按钮的多选][2]
【问题讨论】:
标签: asp.net-mvc kendo-ui kendo-multiselect