如何使用Angularjs清除input中选中的字段?
How Can I Clear The Selected Field In Input Using Angularjs?
我在我的应用程序中使用 MEAN 堆栈,AngularJS 作为我的前端。如何清除输入元素中的 selected 字段,My Plunker
参考一下我的插件
我使用了开始日期和结束日期输入,用于过滤Due_date
。如果我们 select 开始日期如下:- 16-09-2016
数据在 table 中进行了过滤。
在日期输入中有一个 X
close
按钮来清除字段,但它不起作用,如果我们单击那个 x
清除按钮table 显示为空数据。
我们正在寻找的东西,如果我们单击那个 x
清除按钮,它应该清除 selected 文件并且需要显示 [=65= 中的所有数据] ....就像我们在这里给出的例子 plunker :- http://plnkr.co/edit/QuJvCXFpKbwVd0OlkHZ2?p=preview 对于这个 plunker x
清除按钮工作正常,我不知道我在哪里犯了错误,
请帮助我们。
我的日期范围过滤器控制器:-
.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)
如果未设置 from
或 to
,这将删除日期限制。
编辑:请像这样添加括号:
if ((date.isAfter(moment(from)) || from == null) &&
(date.isBefore(moment(to)) || to == null)) {
//...
}
我在我的应用程序中使用 MEAN 堆栈,AngularJS 作为我的前端。如何清除输入元素中的 selected 字段,My Plunker
参考一下我的插件
我使用了开始日期和结束日期输入,用于过滤
Due_date
。如果我们 select 开始日期如下:-16-09-2016
数据在 table 中进行了过滤。在日期输入中有一个
X
close
按钮来清除字段,但它不起作用,如果我们单击那个x
清除按钮table 显示为空数据。我们正在寻找的东西,如果我们单击那个
x
清除按钮,它应该清除 selected 文件并且需要显示 [=65= 中的所有数据] ....就像我们在这里给出的例子 plunker :- http://plnkr.co/edit/QuJvCXFpKbwVd0OlkHZ2?p=preview 对于这个 plunkerx
清除按钮工作正常,我不知道我在哪里犯了错误,请帮助我们。
我的日期范围过滤器控制器:-
.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)
如果未设置 from
或 to
,这将删除日期限制。
编辑:请像这样添加括号:
if ((date.isAfter(moment(from)) || from == null) &&
(date.isBefore(moment(to)) || to == null)) {
//...
}