【发布时间】:2018-02-14 07:04:56
【问题描述】:
我在我的 Angular (1.5.1) 应用程序中使用 kendo-ui。我想在多选中添加拖放支持,以便用户可以将选择从一个多选拖放到另一个多选。我尝试过遵循剑道拖放指南。问题是多选数据源没有更新删除/附加值。由于使用了服务器端过滤,每当我以编程方式尝试更新多选值时,它都会被清除。谁能通过一些示例 sn-ps 指导我如何实现这一目标?谢谢!
用我使用的代码 sn-ps 更新:
关于多选中的更改功能 -
change: function (e) {
if (e.sender.list.length > 0) {
var targetElement = $(e.sender.list[0]).find('div.k-list-scroller .k-item.k-state-hover.k-state-focused.k-state-selected p')
if (targetElement.length > 0) {
//get object from datasource
var selectedItem = _.find(scope.unifyMultiSelect.dataItems(), function (i) {
return i[scope.options.dataValueField] == targetElement[0].innerText;
});
initializeDraggable(multiSelect.tagList, selectedItem);
}
}
},
initializeDraggable 函数 -
function initializeDraggable(ul, selectedItem) {
$(ul).find('li:last-child').kendoDraggable({
group: "multiSelectGroup",
dataValue: selectedItem,
hint: function (element) {
scope.unifyMultiSelect.value(_.without(scope.unifyMultiSelect.dataItems(), selectedItem));
return element.clone();
}
});
};
【问题讨论】:
-
请分享一些代码示例