早上好!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/ –