早上好!AngularJS使用ngModel從複選框中獲取複雜對象集
我發現,在這個觸摸棧的幾個職位,但我還沒有發現任何完成我想要做的正是。
(JS小提琴供參考:http://jsfiddle.net/gsLXf/1/)
我有一個動態的一套,我要求作爲調查的一部分問題。我已經想出瞭如何將文本和無線電響應中的響應綁定到可以回發到我的服務器的'響應'對象。我遇到的問題是使用複選框。正如你可以在小提琴看到的,當我嘗試做
ng-model="response[question.id]"
我所有的複選框作爲一項(這是有道理的,因爲它們都綁定到相同的值作出反應。然而,當我使用
ng-model="response[question.id][option.id]"
我彈出一個錯誤,因爲question.id尚未實例化,所以option.id不能推到物體
理想的參考小提琴看起來像這樣我的響應對象:
{
"123456": "2", //radio question
"789012": //checkbox question
["5", "6"] //list of checkbox options ids selected
}
我的用戶將會動態地創建表單,所以我必須能夠在所有情況下非常優雅地處理它。我不能硬編碼的任何對象相關的數據到控制器中,我不能親手創建模型對象來處理這種情況。
我已經考慮循環遍歷已知的ID集以支持在初始化期間填充響應對象,但它似乎是過度殺傷性的,當Angular有一個很好的方法來創建響應對象(除了這種情況)。
要做到這一點,最好的方法是什麼?
如果你把答案編號的最初反應是沒有問題的:http://jsfiddle.net/Uh2Gc/ –
感謝您的評論,但這不會工作,除非您可以告訴我一些方法來根據問題對象動態做到這一點。所有這些都是由數據庫和中間層API驅動的,所以我不能在控制器中手動/硬編碼任何東西(比如將該對象添加到響應對象中)。 – Shane
現在它是動態的:http://jsfiddle.net/ Uh2Gc/1/ –