Angular JS动态填充选择字段的选项

时间:2015-08-05 11:49:15

标签: javascript angularjs

我有一个问题,我无法弄清楚Angular(我是Angular但不是JS的新手)。

基本上我有一个HTML模板,它会循环遍历从POST请求返回的结果数组。这一切都很好,除了我有一个选择字段,每次循环时都会重复。

模板显示广告,每个广告都有一个创建日期。我想要实现的目标,我之前使用JS和EJS完成了以下工作:

            var today = moment();
            var ad_date = moment(ad.ad_date);
            var diff = today.diff(ad_date,'days');
            var lowEnd = 1;
            var highEnd = 14 - diff;
            var arr = [];
            while (lowEnd <= highEnd) {
                arr.push(lowEnd++);
            }

然后在EJS中我有

             <select class="form-control" name="offer_time">
                <% for (var d in arr) { %>
                    <option value="<%= arr[d] %>"><%= arr[d] %></option>
                <% } %>
            </select>

我的问题是如何在Angular中做同样的事情?

我在想(虽然这可能是完全错误的)我可以在控制器中有一个函数只返回上面的数组然后我可以在Select中进行ng-repeat吗?

任何想法或想法都会非常感激!

由于

1 个答案:

答案 0 :(得分:0)

您会在public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) { try { Log.i(DatabaseHelper.class.getName(), "onCreate"); TableUtils.createTable(connectionSource, Dummy.class); } catch (SQLException e) { Log.e(DatabaseHelper.class.getName(), "Can't create database", e); throw new RuntimeException(e); } } documentation

中找到所需的一切

执行此操作的代码如下所示:

ng-option

<select ng-options="item.subItem as item.label for item in values "ng-model="selected"></select> 中,您有列表(此处为项目)。 ng-options将在您的列表中显示,同时item.subItem将保存在item.label中。

在你的例子中,你似乎有一个简单的价值,而不是一个对象。它应该给出这样的东西:

ng-model

<select class="form-control" name="offer_time" ng-options="item for item in items" ng-model="selected"></select> 是您的列表,Items就是您所看到的以及将要保存的内容。所以你不需要item

的部分