我有一个带有选择框的表单来选择公司的工作时间。我想选择上午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,则默认值将被选为选择框中的最后一个值。由于我使用日期过滤器以“短时间”格式在选择框中显示时间,这是不能正确显示默认值的原因吗?
答案 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/