我正在编写指令中的代码进行搜索(使用文本框)。 这是代码
+ "<input type='text' class='form-control' ng-model='newrecord."
+ attribute.name
+ "' name='"
+ attribute.name
+ "'placeholder='Start typing patient name"
+"' typeahead='"
+"a.value as a.value for a in getpatients($viewValue) | limitTo:20:begin "
+"'/>"
这是我的控制器代码
$scope.getpatients = function(queryString) {
if (queryString == undefined || queryString.length < 0) {
return [];
}
queryString = 'query={"patientName":"'+queryString+'"}';
以上代码正在运作&amp;我能够搜索。但它也在搜索中间字母。我想从谷歌这个词的第一个字母中搜索。帮助我。
答案 0 :(得分:1)
在Angular-way中,我建议您编写简单的自定义过滤器代码。我希望你想要实现的是这样的。
在html中。
<div ng-app="myapp" ng-controller="myctrl">
<input type="text" ng-model="filter_text">
<ul>
<li ng-repeat="item in items | myfilter:filter_text">
{{item}}
</li>
</ul>
</div>
在javascript中。
angular.module('myapp', []).filter('myfilter', function(){
return function(input, text){
// I recommend to use underscore lib for old browser.
return input.filter(function(item){
// I recommend to use standard regex for old browser.
return item.startsWith(text);
});
};
});
function myctrl($scope){
$scope.filter_text = 'a';
$scope.items = [
'abc',
'bca'
];
}
我希望这个样本可以帮到你。
答案 1 :(得分:0)
我认为这是关于服务器端代码中的功能。也许您服务器中的搜索功能会搜索到类似的内容。如果您无法修改服务器端代码,也许您可以尝试添加regexp字符来启动,例如&#39; ^&#39;。