asp kendo 多 select 手动 select 项 jquery

asp kendo multiselect manualy select items by jquery

在我的表单中有 asp kendo multiselect ;我想要 select 来自 multiselect 的一些项目,每个 selected 值来自 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 定义一个函数,并在该函数中从下拉列表中获取 selected 值,然后通过 jquery ajax 加载数据,然后从 multi[=16 中加载 select 项=] :)

$(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();
        }
    }