如何在包含ng-options

时间:2015-10-07 17:56:27

标签: javascript angularjs ng-options jquery-selectbox

我有一个带有选择框的表单来选择公司的工作时间。我想选择上午9:00作为第一个框的默认值,下午5:00作为第二个框的默认值。

以下是JSfiddle

例如,我有

<select ng-options="hour as (hour | date: 'shortTime') for hour in hours"
  ng-model="start_time" ng-change="update(start_time, $index, 1)">

如果在我的app.js中,我将$scope.start_time设置为等于初始化为当前日期和时间的Date对象为9:00 am,则默认值将被选为选择框中的最后一个值。由于我使用日期过滤器以“短时间”格式在选择框中显示时间,这是不能正确显示默认值的原因吗?

1 个答案:

答案 0 :(得分:1)

只需将模型start_time设置为正确,例如在控制器中!

<select ng-options="hour as (hour | date: 'shortTime') for hour in hours track by hour"
        ng-model="start_time" ng-change="update(start_time, $index, 1)">

$scope.start_time = new Date(); // set default date in controller

使用最新的角度版本和track by hour解决了问题:http://jsfiddle.net/j8xu1h2h/