【问题标题】:How to choose default time value in a select box with ng-options如何在带有 ng-options 的选择框中选择默认时间值
【发布时间】:2015-10-07 17:56:27
【问题描述】:

我有一个带有选择框的表单,用于选择企业的工作时间。我想选择上午 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 的当前日期和时间,则选择默认值作为选择框中的最后一个值。由于我使用日期过滤器以“shortTime”格式在选择框中显示时间,这是默认值未正确显示的原因吗?

【问题讨论】:

    标签: javascript angularjs ng-options jquery-selectbox


    【解决方案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
    

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

    【讨论】:

    • 嘿嘿,我居然在JSfiddle里加了$scope.start_time,现在看看。之前忘记加了
    • 不错。你怎么知道新版本的 Angular 支持这个?
    • 老实说这只是一个猜测,但我想我在某个时间点在更改日志(在错误修复时)中读到了它 - 我不确定是什么角度版本;)
    猜你喜欢
    • 2014-07-04
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多