如何使用Angularjs清除input中选中的字段?

How Can I Clear The Selected Field In Input Using Angularjs?

我在我的应用程序中使用 MEAN 堆栈,AngularJS 作为我的前端。如何清除输入元素中的 selected 字段,My Plunker

我的日期范围过滤器控制器:-

 .filter("myfilter", function() {
     return function(items, from, to) {
       var df = from;
         var dt =to;
           var result = [];   
             console.log(to);
            for (var i=0; i<items.length; i++){
           var date = moment(items[i].invoice_date);
          date.add(items[i].terms,'d');
         var tf = date;
       if (date.isAfter(moment(from)) && date.isBefore(moment(to)))  {
                    result.push(items[i]);
                }
            }   
             //console.log(items);
            return result;
      };
    });

我的html:-

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

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

过滤日期范围:-

   <tr ng-repeat="data in  record | myfilter:from:to">

    <td> {{addDays(data.invoice_date,data.terms) | date:'yyyy-MM-dd'}}</td>

    </tr>

我创建了我的 plunker 以供参考:- My Plunker

在您的过滤器中添加日期验证

  app.filter("myfilter", function() {
  return function(items, from, to) {
  if(from.length!=0 && to.length!=0)
  {
     var df = from;
     var dt =to;
     var result = [];   
    console.log(to);
    for (var i=0; i<items.length; i++){
        var date = moment(items[i].invoice_date);
        date.add(items[i].terms,'d');
        var tf = date;
        if (date.isAfter(moment(from)) && date.isBefore(moment(to)))  {
            result.push(items[i]);
        }
      }   
     //console.log(items);
      return result;
   }else
 {

   return items;
 }
};
});

将筛选条件更改为:

if (date.isAfter(moment(from)) || from == null && date.isBefore(moment(to)) || to == null)

如果未设置 fromto,这将删除日期限制。

Plunkr


编辑:请像这样添加括号:

if ((date.isAfter(moment(from)) || from == null) && 
    (date.isBefore(moment(to)) || to == null))  {
    //...
}

Updated Plunkr