asp kendo multiselect manualy select items by jquery

803 Views Asked by At

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" });
        });
    })

)

1

There are 1 best solutions below

0
R.Akhlaghi On BEST ANSWER

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