Угловой пользовательский интерфейс Datepicker JSON установить дату не работает
У меня есть средство выбора даты angular-ui, но когда я загружаю дату удаленно из json, средство выбора даты не выбирает дату, но когда я ее набираю, она выбирает дату. Но он не показывает на входе пустой ввод, и когда я нажимаю, чтобы открыть средство выбора даты, выбирается правильная дата.
Я хотел бы, чтобы дата загружалась удаленно и отображалась в поле выбора даты и в поле ввода даты.
Это мой код для выбора даты:
<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;
Что это в JSON
{
"Date":"2017-08-02"
}
$ Scope.tenderDate работает и выводит эту дату правильно. Вот почему я нахожу странным, что когда я набираю его таким образом, он выбирает дату в палитре, а не в поле ввода.
$scope.today = function() {
$scope.dt = moment("2017-08-02", "YYYY-MM-DD").format();
};
$scope.today();
И без использования моментов и пишите так, как все это работает. И показывает правильную дату "2017-08-02", как это.
$scope.today = function() {
$scope.dt = new Date(2017, 7, 2);
};
Может быть, вы знаете хороший способ получить дату от JSON в DatePicker.
1 ответ
Как уже упоминалось в документах, вам необходимо назначить $scope.dt
значение, как если бы это был обычный формат даты Javascript.
Для этого вам нужно использовать .toDate() вместо .format ().
Ваш код будет выглядеть так:
$scope.today = function() {
$scope.dt = moment("2017-08-02", "YYYY-MM-DD").toDate();
};
$scope.today();