我有兩個DIV容器可排序,並與connectWith
連接。在這兩個都有可排序的項目,我可以按預期拖放。這些項目有一些類,例如,group1
和group2
。我們稱容器爲container1
和container2
。我需要將group1
項目拖放到任何容器中,並且group2
項目只能在container2
內拖放。我已閱讀jQuery文檔,但沒有找到答案或想法如何做到這一點。過濾jQuery的排序項
0
A
回答
0
嘗試訂閱的receive event。我沒有測試過這個,但我的猜測是,如果你返回錯誤(jQuery中阻塞事件的標準模式),那麼被刪除的項目將不會被添加到列表中。下面是一些僞代碼,讓你開始...
$("...").sortable(
{
receive: function()
{
// assuming that "this" maps to the current object being dragged
if (this.className.indexOf("...")) return false;
}
});
0
編輯我想出了一個解決方案,更好地回答您的需求。這個代碼可以稍微調整一下,例如使group2
的項目根本不可排序,即使它們已經在container1
。
JS:
$(function() {
$(".container1,.container2").sortable();
// on mousedown set the "connectWith" option of sortable depending on
// whenever item that user may start dragging has class "group1" or not
$(".container1 > li, .container2 > li").mousedown(function() {
var $this = $(this);
$this.parent().sortable("option", "connectWith", $this.hasClass('group1') ? '.connectedSortable' : false);
})
});
HTML:
<ul class="container1 connectedSortable">
<li class="group1">item 1.1</li>
<li class="group2">item 1.2</li>
<li class="group1">item 1.3</li>
<li class="group2">item 1.4</li>
</ul>
<ul class="container2 connectedSortable">
<li class="group1">item 2.1</li>
<li class="group2">item 2.2</li>
<li class="group2">item 2.3</li>
<li class="group1">item 2.4</li>
<li class="group2">item 2.5</li>
</ul>
相關問題
- 1. jquery過濾和排序
- 2. 重置jQuery IsoTope過濾器和排序
- 3. jquery表格過濾/排序插件
- 4. 排序過濾gridview
- 5. 排序Tagsort過濾
- 6. jQuery的可排序,排序多個項目通過
- 7. GWT過濾表後排序
- 8. MeteorJS:MongoDB中,排序和過濾
- 9. jqGrid排序/過濾問題
- 10. MVC5排序和過濾
- 11. 排序和過濾對象
- 12. Firebase排序和過濾
- 13. 排序和過濾數據
- 14. 過濾和排序反應
- 15. 過濾和排序div
- 16. 的jQuery的tablesorter - 禁用排序和過濾
- 17. jQuery的排序,項目
- 18. jQuery的排序項高度
- 19. API分頁,過濾,排序VS客戶端分頁,過濾,排序
- 20. 通過首選排序過濾列表
- 21. 排序和過濾項目有錯誤的$索引值
- 22. 如何實現項目的「排序」和「過濾」?
- 23. 如何禁用yadcf過濾器選項的自動排序?
- 24. 如何過濾/排序jquery中的圖像/塊?
- 25. 在jQuery數據表的過濾器上重置排序
- 26. Raven DB過濾器上的數組項的子集和排序上最便宜的過濾器結果項目
- 27. 使用Jquery通過Dropdown過濾「項目」
- 28. 排序的從過濾查詢
- 29. JTable的行排序 - 過濾器管理
- 30. 排序由YEAR_MONTH Django的過濾