vishnu.k
vishnu.k

Reputation: 1

kendo multiselect set with text?

How to set values in kendo multiselect using the text value we have i mean not with value.

multi = $("#multiselect").kendoMultiSelect({
                dataSource: data,
                dataTextField: "exampletext",
                dataValueField: "examplevalue",
                tagTemplate: "<span class='' entity_id =" + 'examplevalue' + " path ="+'examplevalue' + " >" + 'examplevalue' + "</span>",
        }).data("kendoMultiSelect");

To set the value in kendo multi select is working fine with below code :

multi.value(["value1","value2"]);

I need to set with text value.

Upvotes: 0

Views: 4821

Answers (1)

Mittal Patel
Mittal Patel

Reputation: 2762

There is no direct property to set the value based on text.

It can be achieved by this way:

HTML:

<select id="multiselect" multiple="multiple">
    <option value="1">Item1</option>
    <option value="2">Item2</option>
</select>

Javascript:

<script>
    $("#multiselect").kendoMultiSelect();
    var multiselect = $("#multiselect").data("kendoMultiSelect");
    var d = multiselect.dataSource.data();
    var val = []; 
    var selectedItems = ["Item1", "Item2"];
        
    for(i=0;i<selectedItems.length;i++)
    {
        var t = d.find(x => x.text === selectedItems[i]);
        if(t!=undefined)
        {
            val.push(t.value);
        }
    }

    // set the value of the multiselect.
    multiselect.value(val);
</script>

Upvotes: 1

Related Questions