1

私はangle-ui datepickerを持っていますが、jsonからリモートで日付をロードするときにdatepickerは日付を選択しませんが、入力すると日付が選択されます。しかし、それは入力に空白の入力を表示せず、クリックして日付ピッカーを開くと、正しい日付が選択されます。角のUI Datepicker jsonの設定日が動作しない

私は日付を遠隔で読み込み、datepickerのdatepickerとinputフィールドに表示したいと思います。

これは、日付ピッカーのために私のコードです:

<input type="text" class="form-control" uib-datepicker-popup ng-model="dt" ng-click="open()" ng-change="testFun(dt)" is-open="popup.opened" datepicker-options="dateOptions" ng-required="true" close-text="Close" /> 
<span class="input-group-btn"> 
    <button type="button" class="btn btn-default" ng-click="open()"><i class="glyphicon glyphicon-calendar"></i></button> 
</span> 

コードの日付を設定するには:

$scope.today = function() { 
    $scope.dt = moment($scope.tenderDate, "YYYY-MM-DD").format(); 
}; 
$scope.today(); 

$ scope.tenderDateは以下の通りです:

$ scope.tenderDate = $ scope.data.items.Date;

$ scope.tenderDateが正しくこの日付を動作し、出力JSON

{ 
    "Date":"2017-08-02" 
} 

でこれです。だからこそ私はこのように入力すると、日付ピッカーで日付を選択するが、入力フィールドでは選択しないというのは変だと思うのです。

$scope.today = function() { 
    $scope.dt = moment("2017-08-02", "YYYY-MM-DD").format(); 
}; 
$scope.today(); 

momentjsを使用せずに、このように書いてください。そのような正しい日付「2017-08-02」が表示されます。

$scope.today = function() { 
    $scope.dt = new Date(2017, 7, 2); 
}; 

おそらく、あなたはdatepickerのjsonから日付を取得する良い方法を知っているかもしれません。

答えて

1

docs$scope.dtには、通常のJavascriptの日付形式であるかのように値を割り当てる必要があります。

.format()の代わりに.toDate()を使用する必要があります。

$scope.today = function() { 
    $scope.dt = moment("2017-08-02", "YYYY-MM-DD").toDate(); 
}; 
$scope.today(); 

あなたのコードは次のようになります。

関連する問題