0

ビジネスの勤務時間を選択するための選択ボックスを備えたフォームがあります。最初のボックスのデフォルト値として午前 9:00 を選択し、2 番目のボックスのデフォルト値として午後 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、現在の日時 (午前 9 時) に初期化された Date オブジェクトに等しい値を設定すると、代わりに選択ボックスの最後の値としてデフォルト値が選択されます。日付フィルターを使用してセレクト ボックスの時刻を「shortTime」形式で表示しているため、デフォルト値が正しく表示されないのはそのためですか?

4

1 に答える 1

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/

于 2015-10-07T18:05:41.043 に答える