or
function createListViewEditor(container, options) { var list = _.find(_viewModel.model.LookupListCollection, function(x) { return (x.Id == options.model.StagingControlStageAttributeLookupCollectionId); }); var listItems = []; _.forEach(list.LookupValues, function(x) { listItems.push({ text: x.CustomName, value: x.Id }); }); var lvSource = new kendo.data.DataSource({ data: listItems }); var listView = $('<div />') .appendTo(container) .kendoListView({ dataSource: lvSource, selectable: "multiple", template: kendo.template($('#multiselecttemplate').html()) }).data("kendoListView"); var indices = multiListSelectionHelper(listView.dataSource.data(), options.model.AttributeFieldValue.split(',')); listView.select(indices); listView.bind("change", function(e) { var data = e.sender.dataSource.view(), selected = $.map(e.sender.select(), function(item) { return data[$(item).index()].value; }); options.model.AttributeFieldValue = selected.join(); }); } function multiListSelectionHelper(options, current) { var items = []; _.forEach(options, function (x) { _.forEach(current, function(y) { if (x.value == parseInt(y)) { items.push(x); } }); }); return items; }