基本上,我正在處理包含四個不同JSON「thingies」(objetcs,arrays)的頁面。原諒我缺乏適當的術語。JSON怪異需要更優雅的方法
當我得到的JSON,它就會出現,帶着一幫子對象的對象,每個「子對象」是這樣的:
"token":"government",
"title":"Government",
"isSelected":false,
"type":"CATEGORY",
"subtype":"INDUSTRY",
"count":12
所以第一個任務是遍歷每個JSON並填充一個填充複選框的框,使用title
作爲標籤,並使用isSelected
來指示檢查的狀態。到現在爲止還挺好。我拿起了一個JS腳本來檢查一個對象是JSON還是一個數組,然後根據那個「快速&髒」測試,我的對象是一個數組。或者一個數組對象(你知道,它是用[ ]
創建的,另一個是用{ }
創建的)?
無論如何,當最終用戶檢查和取消選中複選框時,我需要跟蹤它並立即將更改發送回服務器(當用戶單擊完成按鈕時)。令人瘋狂的是,通過遍歷對象,我可以將isSelected
的值更改爲true
。 。 。只是不回false
。
for(var i = 0; i < $array.length; i++){
$array[z].isSelected = true;
}
也許我得太晚時,我曾在這一切,但使用同樣的方法,我不變化到$array[z].isSelected
時false
得到取消選中複選框。最後,我將JSON「thingy」轉換爲字符串,搜索並替換相應的值,然後將字符串轉換回對象。這一切現在都奏效了,但我感覺好像我剛用完了一卷膠帶放在了一些可以通過很好地將它們拼湊在一起的東西上。
問題:我完全錯過了船,有沒有簡單的方法來改變JSON對象的值?
如果是這樣,你能指出我在正確的方向嗎?
您使用我作爲你的索引循環,但是使用Z代表訪問數組元素的引用。如果你剪下並粘貼了代碼,那就是你的問題。 – Gopherkhan
如果你知道它是一個對象數組,你爲什麼一直稱它爲'thingy'? – Dennis
這就像你想要做的事情? http://jsfiddle.net/Hjp3A/ – Dennis