Как перетащить элемент в список kendoSortable?
Я пытаюсь перетащить элемент с сайта kendoSortable и поместить его в kendoSortable.
Я устанавливаю свойство connectWith kendoSortable. Но это не работает.
В демоверсии Kendo UI я не нашел такого примера.
Вот мой код:
<h1>Sortable</h1>
<ul id="sortable">
<li class="list-item">Apples</li>
<li class="list-item">Grapefruits</li>
<li class="list-item">Bananas</li>
</ul>
<h1>Dragable</h1>
<ul id="dragable">
<li class="list-item">D1</li>
<li class="list-item">D2</li>
<li class="list-item">D3</li>
</ul>
<script>
$("#sortable").kendoSortable({
connectWith: "#dragable",
placeholder: function placeholder(element) {
return $("<li class='list-item' id='placeholder'>Drop Here!</li>");
},
});
$("#dragable li").kendoDraggable({
hint: function () {
return $("<li class='list-item' id='placeholder'>GOOOOOO!</li>");
}
});
$("#sortable").kendoDropTarget({
dragenter: function () {
console.log("enter");
},
dragleave: function () {
console.log("leve");
},
drop: function (e) {
}
});
</script>
1 ответ
Решение
Учитывая ваши два списка:
<h1>Sortable</h1>
<ul id="sortable">
<li class="list-item">Apples</li>
<li class="list-item">Grapefruits</li>
<li class="list-item">Bananas</li>
</ul>
<h1>Dragable</h1>
<ul id="dragable">
<li class="list-item">D1</li>
<li class="list-item">D2</li>
<li class="list-item">D3</li>
</ul>
и предполагая, что вы хотите скопировать его со второго (#draggable
) в первый (#sortable
), что вы должны сделать, определить connectWith
во втором (происхождение копии):
$("#sortable").kendoSortable({
placeholder: function placeholder(element) {
return $("<li class='list-item' id='placeholder'>Drop Here 1!</li>");
}
});
$("#dragable").kendoSortable({
connectWith: "#sortable",
placeholder: function placeholder(element) {
return $("<li class='list-item' id='placeholder'>Drop Here 2!</li>");
}
});
Также важно отметить, что placeholder
вероятно, будет определено в обоих. Первый используется при перемещении из этого списка, а второй используется, когда источник находится во втором списке (независимо от того, является ли этот пункт первым или вторым).
Вы можете увидеть это здесь: http://dojo.telerik.com/@OnaBai/oJIy