从第一个字母开始的角度自定义搜索

时间:2016-01-18 12:27:34

标签: angularjs search

我正在寻找

This。我从stackoverflow的一个帖子中得到了这个例子。

但是,在我的情况下,我需要使用名字的第一个字母进行搜索。

这是json文件。

var userList = {
    "user":[
      {
        "image": "adam.jpg",
        "name": "Sanket Jain",
        "email": "SanketJain@gmail.com",
        "phone" : "9850987634"
      },
      {
        "image": "ben.png",
        "name": "Amar Patil",
        "email": "amarPatil@gmail.com",
        "phone" : "9951983334"
      },
      {
        "image": "max.png",
        "name": "Prasad Kulkarni",
        "email": "prasadKulkarni@gmail.com",
        "phone" : "9253454634"
      },
      {
        "image": "mike.png",
        "name": "Tushar Salvi",
        "email": "tusharSalvi@gmail.com",
        "phone" : "9450987634"
      }
    ]
  };

2 个答案:

答案 0 :(得分:0)

myfilter函数中,而不是此行

return item.startsWith(text);

尝试写这个

return item.name.startsWith(text);

答案 1 :(得分:0)

如果您需要区分大小写:

angular.module('myapp', []).filter('myfilter', function(){
return function(input, text){
    return input.filter(function(item){
        return item.name.startsWith(text);
    });
};
});

如果您需要不区分大小写:

angular.module('myapp', []).filter('myfilter', function(){
return function(input, text){
    return input.filter(function(item){
    var lowerStr = (item.name + "").toLowerCase();
        return lowerStr.indexOf(text.toLowerCase()) === 0;
    });
};
});