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

Angular JS get value of date input with ng-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 方法还是通过其他方式获取值?

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;
    }
}

好像还不错。

好的,非常感谢您的示例,我设法找到了问题所在。事实上,我有一个最小值和格式,如 placeholder="dd/MM/yyyy" min="01/01/2014",这阻止了我的代码与你的代码类似。

我认为问题出在最小参数的格式上,格式正确一切正常:

 min="2014-01-01"

我的错误是删除了关于这个问题的代码示例,我只是想让它更具可读性。