javascript - 按输入日期过滤 ng-repeat

标签 javascript angularjs json date

我目前正在开发我的第一个 angularJS 项目,但我陷入了困境。那么我想做什么?

我正在尝试使用输入类型中选定的日期来过滤我的 ng-repeat = 日期,这是我的观点:

<div class="form-group col-md-3">
    <label for="date">Tender Date</label>
    <input type="date" id="date" ng- model="searchDate.TenderDate"class="form-control">
</div>

<div >
    <table class="table table-bordered">

        <thead>

            <th>Tender ID</th>
            <th>Business unit</th>
            <th>Therapy Unit</th>
            <th>Tender Date</th>

        </thead>
        <tbody ng-repeat="tender in tenders | filter:searchDate">
            <td>{{tender.TenderID}}</td>
            <td>{{tender.businessUnit}}</td>
            <td>{{tender.therapyUnit}}</td>

            <td>{{tender.TenderDate}}</td>
        </tbody>

    </table>


</div>

这是我的 json 文件:

{
"Tenders":[{
            "businessUnit": "GN_RE S-RETAIL",
            "therapyUnit" : "Hospital Product ",
            "TenderID" : "BE_13_N2.1_001",
            "TenderDate" : "2016-03-17"
            },

            {
                "businessUnit": "GN_RE S-RETAIL",
                "therapyUnit" : "Hospital Product ",
                "TenderID" : "BE_13_N2.1_01",
                "TenderDate" : "2016-03-18"
            }


            ]
}

我的 Controller 里什么都没有。我可以将搜索字段链接到数组中的特定字段,但问题是日期类型不起作用。希望大家能够帮助我!

最佳答案

试试这个。

var myapp = angular.module('app', []);
myapp.controller('Main', function ($scope) {
  $scope.tenders = {
"Tenders":[{
            "businessUnit": "GN_RE S-RETAIL",
            "therapyUnit" : "Hospital Product ",
            "TenderID" : "BE_13_N2.1_001",
            "TenderDate" : "2016-03-17"
            },

            {
                "businessUnit": "GN_RE S-RETAIL",
                "therapyUnit" : "Hospital Product ",
                "TenderID" : "BE_13_N2.1_01",
                "TenderDate" : "2016-03-18"
            }


            ]
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app = "app">
  <div ng-controller="Main">
    <div class="form-group col-md-3">
    <label for="date">Tender Date</label>
    <input type="date" id="date" ng-model="searchDate"class="form-control">
</div>

<div >
    <table class="table table-bordered">

        <thead>

            <th>Tender ID</th>
            <th>Business unit</th>
            <th>Therapy Unit</th>
            <th>Tender Date</th>

        </thead>
        <tbody ng-repeat="tender in tenders.Tenders | filter: {TenderDate: searchDate }">
            <td>{{tender.TenderID}}</td>
            <td>{{tender.businessUnit}}</td>
            <td>{{tender.therapyUnit}}</td>

            <td>{{tender.TenderDate}}</td>
        </tbody>

    </table>


</div>
   </div>
</div>

关于javascript - 按输入日期过滤 ng-repeat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36058480/

相关文章:

javascript - 我应该将自定义 javascript 对象放置在哪里?

javascript - JQuery UI Position,行为异常,位置永远不一样

php - jquery @mention 使输出成为链接

javascript - 格式化ajax返回的json

json - Rally JSON I/O 错误创建测试用例结果

javascript - 将动画移动到另一个 div 时 css 动画重新启动

javascript - Q.allSettled 在将任何内容推送到数组之前执行

javascript - 是否可以渲染具有隔离范围的 Angular Directive(指令)模板?

angularjs - 使用 UIGrid 和 Typescript DefinelyTyped

javascript - AngularJS - 当它的键在另一个范围内为真时更改范围值