2011-04-10 75 views
0

我正在嘗試構建待辦事項列表。 http://d2burke.com/exp/todo/jQuery可分類待辦事項列表

我希望我的用戶能夠將項目標記爲完整,此時該項目將被拖放到「完成」列表中,反之亦然。我也希望每個這些列表都可以獨立排序。

我使用基本的自定義方法來回移動項目,我用jQueryUI Sortable對它們進行排序。

我已經能夠完成所有這些事情;然而,它似乎並沒有像網站(DOM?)註冊的項目從一個列表移動到另一個。如果我將一個項目標記爲「完成」,它將在物理上向下移動......並在「完成」列表中變爲可排序,但我以序列化格式回顯當前位置(因爲我將記錄順序分貝)和應用程序似乎並不認爲該項目已移動。

我想強制應用程序在項目標記爲完成或不完整時重新計算項目列表。

幫助?

回答

0

我看起來像你對我應該看看的排序的方法resfresh:http://jqueryui.com/demos/sortable/

我會.REFRESH()也開始看還重新計算的位置。我認爲它確實如此,但如果不是的話,你可能也需要觸發另一個。

+0

好吧,我已經嘗試過這種方式的組合,刷新,refreshPositons,unbind()然後刷新...一切都無濟於事。謝謝你的想法,雖然......我確定那將是票 – d2burke 2011-04-10 04:50:16

0

有一些脫穎而出,我會發表評論,幾件事情: -

1)當你「搬家」的項目,你是移動超過你打算 - 中移動的項目有一個「TBODY」周圍 - 你的代碼非常脆弱,這取決於parent.parent ...這將是一個噩夢來維護。

2)您有各種parent.parent結構 - 將這些開關切換到'.closest()',以便將樹搜索到要運行的項目類。 3)你正在做綁定/解除綁定 - 丟失它們並切換到'$(document.body).on(,...)',然後jquery會根據你的選擇器自動添加/移除事件 - 鏈接一旦忘記。

一旦完成這些錯誤可能會消失 - 如果不是這樣,它仍然會更清晰,因此可以正確調試!

Regards

ps。如果是我,我想我會鏈接兩個列表,以便它們可以一起排序,並且如果項目從一個列表移動到另一個列表,則切換完成的標誌。

這樣用戶有兩種方式來改變狀態和jQuery會做所有的驢工作,因爲你只是簡單地排序一個正常的鏈表。