Angular JS使用ng-model获取日期输入的值

时间:2015-11-16 09:55:29

标签: angularjs angularjs-model

我尝试通过将其与ng-model绑定来获取输入日期html 5组件的值,如下所示:

<input type="date" id="dateFin" class="form-control" name="dateFin" ng-model="filtres.dateFin"
               placeholder="dd/MM/yyyy" min="01/01/2014"/>

使用模型:

$scope.filtres.dateFin = null;

我认为绑定是正确的,因为我将初始值更改为

$scope.filtres.dateFin = new Date(); 

初始值设置为当前日期。

但是当我尝试获取表单处理的值时,我的问题就出现了。调试时,我发现当值改变时$scope.filtres.dateFin的值变为未定义。我应该覆盖onchange方法还是以其他方式获取值?

2 个答案:

答案 0 :(得分:0)

https://jsfiddle.net/u2vkzemh/

HTML

<div ng-app ng-controller="testCtrl">
    <input type="date" id="dateFin" name="dateFin" ng-model="filtres.dateFin"/>
    {{filtres.dateFin}}
    <button type="button" ng-click="show()">Show it</button>
    {{testDate}}
</div>

控制器

function testCtrl($scope) {
    $scope.show=function(){
        $scope.testDate = $scope.filtres.dateFin;
    }
}

似乎运作良好。

答案 1 :(得分:0)

好的,所以,有点谢谢你的例子,我设法找到了问题。事实上,我有一个min-value和一个像placeholder="dd/MM/yyyy" min="01/01/2014"这样的格式,这阻止了我的代码与你的代码相似。

我认为问题是min参数的格式,格式正常,一切正常:

 min="2014-01-01"

我不能删除我在问题上的代码示例,我试图让它更具可读性。