2012-05-10 54 views
0

我正在使用jquery可排序以便可以通過拖動重新排列項目的有序列表。當用戶拖放時,可排序函數運行並更新所有內容,從0-9排序。我可以更新我的jQuery排序每頁加載?

但是,我有能力插入或刪除列表中的項目。當發生刪除時,排序中存在差距(0-1-2-3-4 - 6-7-8)。添加項目時,列表項目將被計數並添加1並將其設置爲等級,並將其插入列表底部。因爲排序從0開始,所以它在最後跳過一個數字。 (7,8,10)

但是,一旦用戶拖放一個項目,整個列表被重新安排到正確的順序,並且一切都很好。但在此之前,訂單已經不合時宜了。

所以我想知道是否有一種方法來運行jQuery排序更新而無需移動項目。它會運行更新,但就像您將所有內容保存在同一個位置一樣,但它可以解決我的訂購問題。我會設置它,以便如果用戶剛剛添加一行或刪除了一行,該函數將運行並且順序將被正確設置。

+0

我沒有使用jQuery的排序所以我不會把這個作爲一個答案,但我只是看了看文件,我認爲你可以做你想做的,通過調用' .sortable(「刷新」)'。 [見文檔](http://jqueryui.com/demos/sortable/#method-refresh) – AndrewR

回答

0

我認爲每次在可排序列表之外進行更改時,您只需刷新排序即可。

.sortable("refresh")

http://docs.jquery.com/UI/Sortable#method-refresh

+0

這也是我的想法。但它似乎並沒有工作。這是我目前有... '$('#test-list')。sortable('refresh'); $(「#info」)。load(「process-sortable.php?」+ order);' – patricko

+0

也許你可以詳細說明將項目添加到列表的方式。看起來你正在從查詢字符串中獲取項目? – ephemeron

相關問題