asp剑道多选通过jquery手动选择项目

问题描述

在我的表单中有 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();
        }
    }