2014-05-20 42 views
3

我正在努力填充选择表单元素。这是我迄今为止的语法。它不会抓取program.title并填充ngOptions。AngularFire&ngOptions

<select ng-model="student.program" ng-options="program.title for program in programList.title"> 
<option value="">Select A Program</option> 
</select> 

这里是我的火力地堡数据的基本JSON结构:

{ "-JNIBeRDAuNN9c7SGZ91" : { "location" : "Online", "director" : "Shawn Clark", "title" : "Web Design & Development" }, "-JNIBuaQlWyEyWRjONPa" : { "location" : "Online", "director" : "Walen Morrow", "title" : "Graphic Design" }, "-JNIBmIwasMYOPRPupHl" : { "location" : "Campus", "director" : "Tracy Monohan", "title" : "Web Design & Development" }, "-JNKGPNj-lGzqHJ92RTD" : { "location" : "Online", "director" : "Glen Speedy", "title" : "Theory of Animation & Physics" }, "-JNK9oTO97PfSo-0wQfY" : { "location" : "Campus", "director" : "John Myers", "title" : "Instructional Design & Technology" }, "-JNIC3Tldo-Qi3ru2ph7" : { "location" : "Campus", "director" : "George Narrow", "title" : "Graphic Design" }, "-JNK8cdgdHKjH2meKl9x" : { "location" : "Online", "director" : "Stacy McNally", "title" : "Instructional Design & Technology" } }

回答

2

我相信你正在寻找

<select ng-model="student.program" ng-options="program.title for (id, program) in programList"><option value="">Select A Program</option></select> 

你JSON的根对象是一个对象,而不是一个数组。 See angular documentation for object data sources

See Plunker

+0

嗯谢谢这么多乔尔!现在唯一的办法是,单击添加按钮后,我会从该对象(标题,导演和位置)获取所有数据。有没有办法解决这个问题? –

+0

这里有问题的应用程序的链接,你会注意到所有的数据都显示出来。 https://canvasapp.firebaseapp.com/#/manage-students –

+0

我不明白。当我加载页面时,我在研究项目栏中看到JSON。当我点击添加时没有任何反应。如果我解决了你最初的问题,最好将其标记为已解决并开启一个新问题。谢谢! –

-2

试试下面的代码。

它应该工作:

<select ng-model="student.program" ng-options="program.title for program in programList"><option value="">Select A Program</option></select> 

感谢

+0

是的,这也是我的变化之一,遗憾的是没有用... –

+0

https://canvasapp.firebaseapp.com/#/manage-students –

+0

不要使用programList.title使用ng-options中的program.title。将ng-options改为ng-options =“程序列表中的program.title” –