改變索引我有一個JavaScript數組,它看起來像:幫助與在javascript/jquery的
var styles = new Array();
styles[0] = { ... Position: 0, ... };
styles[1] = { ... Position: 1, ... };
styles[2] = { ... Position: 2, ... };
...
styles[N] = { ... Position: N, ... };
我使用此陣列來顯示列表,其中每個項目是一個div。最終的結果是這樣的:
<div id="container">
<div>... item 1...</div>
<div>... item 2...</div>
<div>... item 3...</div>
</div>
現在「容器」div也是jquery可排序的。這樣我可以拖/放物品並改變位置。現在,無論何時用戶將某個項目拖到不同的位置,我都會通過循環div項來更新陣列中的位置,這非常糟糕。它看起來或多或少是這樣的:
var items = $("#container");
for (var i = 0; i < items.length; i++)
{
....
styles[i] = { ... Position: i, ... };
}
有沒有更好的方法來實現這個目標?
更新1:
我需要保存在數據庫中,這就是爲什麼我需要的名單已經改變之後,改變我的陣列的位置。該列表根據其他標準而變化。因此,我可以列出10個項目,或者我可以列出X項目。這取決於用戶選擇哪個列表。現在,如果用戶更改了一個列表,然後又希望看到第二個列表,那麼我需要確保第一個列表保留位置。
你的循環後有什麼變化嗎? style [i] = {Position:i}將永遠是相同的。你的數組索引是你的位置。現在,...中的內容似乎更重要。 – 2010-01-27 20:19:24
我更新了我的問題。請看我的評論。 – vikasde 2010-01-27 20:24:05
我更新了我的回覆,並提供了一個如何更新職位的例子。 – 2010-01-27 22:17:18