Javascript Angularjs:名称以开头时搜索筛选器不工作!(感叹号)
我有一个州的列表,我在州名上添加了搜索过滤器。 我有这样的数组:Javascript Angularjs:名称以开头时搜索筛选器不工作!(感叹号),javascript,angularjs,search,filter,Javascript,Angularjs,Search,Filter,我有一个州的列表,我在州名上添加了搜索过滤器。 我有这样的数组: stateList:[{name:'abc',area:500},{name:'!def',area:500}] 我有和ng repeat=“stateList中的state | filter:{name:searchText}” 使用ng model=“searchText” 搜索在正常情况下工作,但当我搜索时!(感叹号)。它没有产生任何结果。它应该给国家命名'!def'试试这种方法 <input type="text"
stateList:[{name:'abc',area:500},{name:'!def',area:500}]
我有
和ng repeat=“stateList中的state | filter:{name:searchText}”
使用ng model=“searchText”
搜索在正常情况下工作,但当我搜索时!(感叹号)。它没有产生任何结果。它应该给国家命名'!def'试试这种方法
<input type="text" ng-model="state.name"/>
ng-repeat="state in stateList | filter:state"
ng repeat=“状态列表中的状态|过滤器:状态”
问题在于标记识别为“否定谓词”。不过,您可以像这样创建自定义的myFilter
:
angular.module('app',[]).controller('ctrl',function($scope){
$scope.stateList=[{
姓名:“abc”,
面积:500
}, {
名称:“!def”,
面积:500
}]
}).filter('myFilter',function(){
返回函数(输入、过滤器){
如果(!filter.name)
返回输入;
返回输入。过滤器(函数(x){
返回x.name.indexOf(filter.name)!=-1;
});
}
})
- {{state | json}
我建议您创建自己的自定义过滤器angularjs搜索过滤器的任何限制或问题?angularjs似乎对!进行了否定!。看一看,我只想在state的name属性上添加过滤器。所以我必须定义过滤器:{name:searchText}
。对不起。但是我没有得到你的答案。文本框用于搜索。正确的?为什么要在搜索文本框中写入state.name
?