in my form there are asp kendo multiselect ; I want select some items from multiselect per selected value from a asp kendo dropdownlist? how can I do this ?
@(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" });
});
})
)
i solved this problem; first define a function for dropdown_change and in that function get selected value from dropdown and load data by jquery ajax then select items from multiselect :)
$(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();
}
}