问题描述
在我的表单中有 asp kendo multiselect ;我想从 asp kendo 下拉列表中的每个选定值中选择一些项目吗?我该怎么做?
@(Html.Kendo().DropDownList()
.Name("dropdown")
.Filter("contains")
.DataTextField("Name")
.DataValueField("Id")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("action","controller" });
});
})
.AutoBind(true)
)
@(Html.Kendo().MultiSelect()
.Name("multiselect")
.Filter("contains")
.HtmlAttributes(new { style = "width:100%" })
.DataTextField("Name")
.DataValueField("Id")
.Filter("contains").Animation(false)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("action","controller" });
});
})
)
解决方法
我解决了这个问题; 首先为 dropdown_change 定义一个函数,并在该函数中从下拉列表中获取选定的值并通过 jquery ajax 加载数据,然后从多选中选择项目:)
$(document).ready(function () {
$('#dropdownName').data("kendoDropDownList").bind("change",drp_change);
});
function drp_change() {
var selected = $('#dropdownName').val();
if (selected > 0) {
//fill multiselect per selected value
var params= { [paramName]: selected };
$.get('/controller/action',params,function (data) {
var multiSelect = $("#multiselectName").data("kendoMultiSelect");
var selected = $.map(data,function (item) {
return item;
});
multiSelect.value(selected);
multiSelect.trigger("change");
})
} else {
$('#multiselectContailner').hide();
}
}