Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular UI引导日期选择器在打开时切换到今天_Javascript_Jquery_Angularjs_Twitter Bootstrap_Datepicker - Fatal编程技术网

Javascript Angular 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

背景

我添加了一个日期,具有角度UI引导支持,类似于我在本文中实现的。“砰”的一声,正是我想要它做的

但是,在我的本地尝试中,所选日期切换到今天,而不是在
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对象看起来像什么?