Javascript Angular UI引导日期选择器在打开时切换到今天
背景 我添加了一个日期,具有角度UI引导支持,类似于我在本文中实现的。“砰”的一声,正是我想要它做的 但是,在我的本地尝试中,所选日期切换到今天,而不是在Javascript Angular UI引导日期选择器在打开时切换到今天,javascript,jquery,angularjs,twitter-bootstrap,datepicker,Javascript,Jquery,Angularjs,Twitter Bootstrap,Datepicker,背景 我添加了一个日期,具有角度UI引导支持,类似于我在本文中实现的。“砰”的一声,正是我想要它做的 但是,在我的本地尝试中,所选日期切换到今天,而不是在ng model中设置的日期 本地代码 <p class="input-group"> <input type="text" class="form-control" uib-datepicker-popup="{{format}}" ng-model="person.D
ng model
中设置的日期
本地代码
<p class="input-group">
<input type="text" class="form-control"
uib-datepicker-popup="{{format}}"
ng-model="person.DateOfBirth"
is-open="stats.DateOfBirthOpened" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="openDatepicker($event)">
<i class="fa fa-calendar"></i>
</button>
</span>
</p>
<div class="input-group">
<input type="text" class="form-control"
uib-datepicker-popup="{{format}}"
ng-model="today"
is-open="status.opened"
min-date="minDate"
max-date="maxDate"
datepicker-options="dateOptions"
ng-required="true"
close-text="Close" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open($event)">
<i class="fa fa-calendar"></i>
</button>
</span>
</div>
Plunk代码
<p class="input-group">
<input type="text" class="form-control"
uib-datepicker-popup="{{format}}"
ng-model="person.DateOfBirth"
is-open="stats.DateOfBirthOpened" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="openDatepicker($event)">
<i class="fa fa-calendar"></i>
</button>
</span>
</p>
<div class="input-group">
<input type="text" class="form-control"
uib-datepicker-popup="{{format}}"
ng-model="today"
is-open="status.opened"
min-date="minDate"
max-date="maxDate"
datepicker-options="dateOptions"
ng-required="true"
close-text="Close" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open($event)">
<i class="fa fa-calendar"></i>
</button>
</span>
</div>
问题
据我所知,这两个实现非常相似(相同,忽略语义差异),那么为什么本地代码不能正常工作(今天显示在open上而不是ng模型值上)
附录
请求的完整控制器javascript代码:
"use strict";
angular.module("controllers.mainControllers")
.controller("personDetailController", [
"$scope",
function ($scope) {
var self = {};
self.Get = function () {
if (coreUtilityService.IsValid($rootScope.PersoonId)) {
apiService.Get("api/person/" + $rootScope.PersoonId).then(function (person) {
$scope.person = person;
$scope.title = coreUtilityService.CombineTwoValuesWithSpace(person.Firstname, person.Lastname);
});
};
}
// === $SCOPED === //
self.Get();
$scope.format = "dd/MM/yyyy";
$scope.stats = {
DateOfBirthOpened: false
};
$scope.openDatepicker = function ($event) {
$scope.stats.DateOfBirthOpened = true;
};
}]);
和$scope.person输出:
{PersonId: "9245fe4a-d402-451c-b9ed-9c1a04247482", Firstname: "Jackie", Lastname: "Chan", DateOfBirth: "1968-05-17T00:00:00", CreateDate: "2015-12-11T09:15:49.403"…}
CreateDate: "2015-12-11T09:15:49.403"
DateOfBirth: "1968-05-17T00:00:00"
Firstname: "Jackie"
Lastname: "Chan"
ModifyDate: "2015-12-11T09:15:49.403"
PersonId: "9245fe4a-d402-451c-b9ed-9c1a04247482"
plunk中的日期格式错误,请使用
“{{dd/MM/yyyy}}”
而不是“{{dd/MM/yyyy}}”
编辑:此外,plunk示例未正确绑定格式。将
{{format}}
更改为{dateFormat}
您可以共享完整的javascript文件吗?codeDone,虽然我认为没有添加太多内容。我认为您还没有定义要在前面显示的模型的值。您可以像这样声明它为静态的$scope.person={DateOfBirth:new Date(“2010年10月30日”)};
而不是从self.Get()获取它
也许是个愚蠢的问题,但你的承诺确实解决并设置了$scope.person?我帮了你()我注意到,如果我在本地使用mm
而不是mm
,我会得到一个月的00
值。我不知道为什么Plunk没有问题。两者都使用ui-bootstrap-tpls-0.14.3.min.js
。返回的person对象看起来像什么?