dojo拖放完成後,一旦提交頁面,我必須保存已放置到「targetZone」中的每個項目的位置。我們怎樣才能保住這個位置?Dojo拖放,我們如何保存位置
0
A
回答
0
通過調用getAllNodes(),您將按照它們顯示的順序收到節點列表。所以,如果你想保存在一個特定的順序列表,你可以做一些與此類似:
var data;
var nodes = dndSrc.getAllNodes();
for(var i; i < nodes.length; i++)
{
data.push({id: nodes[i].id, order: i});
}
有關道場的DnD有關數據提交的更多信息,請查看這篇文章,瞭解了免打擾和表單提交:http://www.chrisweldon.net/2009/05/09/dojo-drag-n-drop-and-form-submission
1
尤金這裏的答案是: Dojo Drag and drop: how to retrieve order of items?
這將是正確的方式。如果你看看上面的鏈接,你可以將生成的「orderedDataItems」對象保存爲JSON ...
看看下面的函數。它將我們的DND「燈箱」(dojo.dnd.source)保存爲JSON。
- _it是當前原始DND項目
- _it.data.item包含了所有你的東西,你需要保持
- 在我們的例子_it.data.item.label保持定製節點(圖片,視頻,文檔)作爲一個字符串,我們可以在以後使用dojo.place它
- 這是您要保存而不DOM節點的DND項目
如如果將項目從dijit樹中刪除爲任意dojo dnd源/目標: _RAM或_S在我們之前製作的data.item中需要被覆蓋。
LBtoJson: function(){
var that = this;
var orderedLBitems = this.dndSource.getAllNodes().map(function(node){
var _it = that.dndSource.getItem(node.id);
var it = { data:{ item:{} }, label:'', type:'' };
if((_it.data.item._RAM)){_it.data.item._RAM={}}
if((_it.data.item._S)){_it.data.item._S={}}
it.data.item = dojo.clone(_it.data.item);
it.label = it.data.item.label[0]||it.data.item.label;
it.type = _it.type;
console.log(it);
return it;
});
var LBjson = dojo.toJson(orderedLBitems);
return LBjson;
}
相關問題
- 1. JQuery拖放保存位置
- 2. 保存拖放位置在軌道上
- 3. dojo拖放
- 4. Dojo拖放
- 5. Dojo:拖放停止拖動
- 6. jquery拖放表格單元格,並獲得他們的位置保存
- 7. 如何讓拖放框重置位置?
- 8. 幫助Dojo拖放
- 9. Dojo拖放:如何格式化放置的項目?
- 10. 我們如何限制DataGrid列拖放
- 11. 如何知道在Html5中的拖放位置拖放
- 12. 保存相對於父DIV的jquery拖放位置?
- 13. 拖放jQuery的保存位置MySQL數據庫
- 14. 拖放 - 保存物品已放置在表格格式中的位置
- 15. JQuery:拖放設置位置
- 16. 如何保留拖放元素的位置?
- 17. 如何在拖放對象後保留其原始位置
- 18. ModalPopupExtender:如何在拖放帖子後保留自己的位置?
- 19. 如何在刷新頁面後保存拖放圖像的位置
- 20. Dojo 1.7.2拖放bug - 「mouseButtons.isLeft」
- 21. 如何使用Metro UI CSS保存可拖動的位置?
- 22. 如何在Android中保存拖動的ImageView的位置?
- 23. 拖放交換div位置
- 24. jQuery拖放位置錯誤
- 25. 拖放獲取位置
- 26. 拖放相對位置
- 27. 如何保存portlet位置
- 28. 拖放,拖動元素ID以及放置的位置編號
- 29. 拖放對象並將它們返回到原始位置
- 30. 保存和加載div位置 - 縮放並保存加載div位置加載