在 AngularJS typeahead 上匹配多个对象 属性 值
Match multiple object property values on AngularJS typeahead
我正在尝试获取 Angular Bootstrap UI typeahead 以匹配多个属性。如果我有一个像这样的对象数组:
{
"city":"New York",
"region":"NY",
"country":"USA"
},
{
"city":"London",
"region":"England",
"country":"UK"
}
可以预先匹配 3 个属性(城市、地区、国家/地区)中的任何一个,如果匹配,return 全部作为结果下拉列表中的字符串。
如果用户键入 "NY" 它应该 return 并显示
New York, NY, USA
如果用户输入 "Lon",它应该 return 并显示
London, England, UK
我想知道是否可以这样做,最好的方法是什么?
注意:typeahead 设置为匹配前导字符。
1.定义模型
$scope.model.addresses = [
{"city":"New York","region":"NY","country":"USA"},
{"city":"London","region":"England", "country":"UK"}
];
2。定义自定义过滤器函数
$scope.findAddress = function(keyword) {
return $filter('filter')($scope.model.addresses , {'$': keyword});
}
'$' - 表示在所有属性中查找
3。并尝试以这种方式使用
<input typeahead="address for address in findAddress($viewValue)"/>
我正在尝试获取 Angular Bootstrap UI typeahead 以匹配多个属性。如果我有一个像这样的对象数组:
{
"city":"New York",
"region":"NY",
"country":"USA"
},
{
"city":"London",
"region":"England",
"country":"UK"
}
可以预先匹配 3 个属性(城市、地区、国家/地区)中的任何一个,如果匹配,return 全部作为结果下拉列表中的字符串。
如果用户键入 "NY" 它应该 return 并显示
New York, NY, USA
如果用户输入 "Lon",它应该 return 并显示
London, England, UK
我想知道是否可以这样做,最好的方法是什么?
注意:typeahead 设置为匹配前导字符。
1.定义模型
$scope.model.addresses = [
{"city":"New York","region":"NY","country":"USA"},
{"city":"London","region":"England", "country":"UK"}
];
2。定义自定义过滤器函数
$scope.findAddress = function(keyword) {
return $filter('filter')($scope.model.addresses , {'$': keyword});
}
'$' - 表示在所有属性中查找
3。并尝试以这种方式使用
<input typeahead="address for address in findAddress($viewValue)"/>