Chr*_*ena 14 javascript jquery startswith filter angularjs
所以我一直试着制作一个自定义过滤器来搜索'Startswith'参数而不是'Contains'.我写的每个过滤器似乎都没有正常工作.这是我想要实现的一个例子---> http://jsfiddle.net/DMSChris/9ptr9/
function FilterCtrl() {
var scope = this;
scope.doFilter = function(elem) {
if(!scope.searchText) return true;
return elem.last_name.toLowerCase().indexOf( scope.searchText.toLowerCase()) == 0;
};
Run Code Online (Sandbox Code Playgroud)
}
http://jsbin.com/OyubElO/1/edit - 这就是我现在所处的位置.
<ul border="1px" ng-repeat="msg in messages | filter:search:strict">
<li>{{msg.last_name}}</li>
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
mar*_*ark 33
一种简单的方法是在范围中添加新方法.
$scope.startsWith = function (actual, expected) {
var lowerStr = (actual + "").toLowerCase();
return lowerStr.indexOf(expected.toLowerCase()) === 0;
}
Run Code Online (Sandbox Code Playgroud)
然后更改元素的过滤器语法.
<ul border="1px" ng-repeat="msg in messages | filter:search:startsWith">
Run Code Online (Sandbox Code Playgroud)
这是一个上面的例子的工作plunkr.