如何使用angularjs仅从数据库中的datepicker中显示日期

时间:2016-11-29 03:36:52

标签: javascript angularjs angularjs-directive datepicker

app.controller('getUser', function ($scope, $http, $cookieStore) {

$http.get('http://localhost:8080/myapp/user/'.concat($scope.getUserId) + '?access_token=' + $cookieStore.get("access_token")).
        then(function (response) {
            $scope.users = response.data;
        });});

    Table name: user{ id  | userDate | 1 |  2016-11-28 05:30:00.0}

<div ng-controller="getUser">
<label class="control-label">Date</label>
<input type="date"  class="form-control" ng-model="users.userDate" ng-value="{{users.userDate"}}">
</div>

它没有在日期选择器中显示日期。你能给我解决方案吗? 谢谢

3 个答案:

答案 0 :(得分:0)

参考documentation

您需要以正确的可接受格式(value)提供<input type='date'>YYYY-MM-DD,以便在HTML5日期输入中正确显示。

您应该能够使用过滤器格式化日期(采用yyyy-MM-dd格式),或者在控制器本身中进行格式化,然后再在html模板中进行渲染。

<input type="date"  class="form-control" ng-model="users.userDate" ng-value="{{users.userDate | date: 'yyyy-MM-dd'}}">

答案 1 :(得分:0)

试试这个

需要小改变

 <input type="date"  class="form-control" ng-model="userdate" >

控制器

 $scope.userdate= new Date(users.userDate);

答案 2 :(得分:0)

你必须将它添加到你的HTML

<input type="date" class="form-control" ng-model="users.userdate">

由于您将日期作为字符串传递,因此上述行期待您未传递的日期对象。

并在获取数据后将此行添加到脚本中。

$http.get('http://localhost:8080/myapp/user/'.concat($scope.getUserId) + '?access_token=' + $cookieStore.get("access_token")).
    then(function (response) {
        $scope.users = response.data;
        $scope.users.userdate = new Date($scope.users.userdate); // converting into date object which will display date in correct form in your html
    });});

如果您不想添加上述脚本,那么您可以设置输入标记type="text",它可以正常工作但不会弹出datepicker。