Javascript 在ng中自动完成搜索在angularjs中重复?

Javascript 在ng中自动完成搜索在angularjs中重复?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我的代码我有3个ng重复,基于按键事件值我从服务和iam获取数据 我的html代码是: <div class="input-group" ng-controller="sidemenu"> <input class="form-control" placeholder="Enter location, builder or project" ng-model="NodeId_1" autofocus ng-keyup="getValue($event.keyCode

我的代码我有3个ng重复,基于按键事件值我从服务和iam获取数据 我的html代码是:

<div class="input-group" ng-controller="sidemenu">
    <input class="form-control" placeholder="Enter location, builder or project"  ng-model="NodeId_1" autofocus  ng-keyup="getValue($event.keyCode)"/>
    <div class="search-datalist" ng-if="showsearch">
        <ul ng-if="resultOfBuldDet.length>0">
            <span class="result-hd">Builders</span>
            <li  ng-repeat="bud in resultOfBuldDet" ng-class="{active :2}" ng-click="searchFilter(bud)"><i class="fa fa-map-marker"></i> {{bud.builders_name}}</li>
        </ul>
        <ul ng-if="resultOfPropDet.length>0">
            <span class="result-hd">Properties</span>
            <li ng-repeat="prop in resultOfPropDet" ng-click="searchFilter(prop)"><i class="fa fa-map-marker"></i> {{prop.property_name}} ,{{prop.hp_city.city_name}},{{prop.hp_location.location_name}} </li>  
        </ul>
        <ul ng-if="resultOfCityDet.length>0">
            <span class="result-hd">cities</span>
            <li ng-repeat="city in resultOfCityDet" ng-click="searchFilter(city)"><i class="fa fa-map-marker"> </i> {{city.city_name}}</li>
        </ul>
        <ul ng-if="resultOfLocaDet.length>0">
            <span class="result-hd">Location</span>
            <li ng-repeat="loc in resultOfLocaDet" ng-click="searchFilter(loc)"><i class="fa fa-map-marker"></i> {{loc.location_name}},{{loc.hp_city.city_name}}</li>
        </ul>   
        <ul ng-if="resultOfSubLocaDet.length>0">
            <span class="result-hd">sub Location</span> 
            <li ng-repeat="subloc in resultOfSubLocaDet" ng-click=" searchFilter(subloc)"><i class="fa fa-map-marker"></i> {{subloc.sub_location_name}},{{subloc.hp_location.location_name}},{{subloc.hp_location.hp_city.city_name}}</li>
        </ul>         
    </div>
</div>

    建设者
  • {{bud.builders\u name}
    性质
  • {{prop.property\u name}、{{prop.hp\u city.city\u name}、{{{prop.hp\u location.location\u name}
    城市
  • {{city.city\u name}
    位置
  • {{loc.location\u name},{{{loc.hp\u city.city\u name}
    子位置
  • {{{subloc.sub_location_name},{{{subloc.hp_location.location_name},{{{subloc.hp_location.hp_city_name}
我的控制器js代码:

 sidemenu.controller('sidemenu', ['$scope', '$rootScope', 'allServices'

        function(a, b,e) {

  a.getValue = function(key) {
            if (key == 8 && a.NodeId_1.length <= 2) {

                a.resultOfPropDet = "";
                a.resultOfBuldDet = "";
                a.resultOfLocaDet = "";
                a.resultOfCityDet = "";
                a.resultOfSubLocaDet = "";
            }

            if (a.NodeId_1.length > 2) {
                e.searchList(a.NodeId_1).then(function(result) {
                    a.resultOfPropDet = result.data.resultOfPropDet;
                    a.resultOfBuldDet = result.data.resultOfBuldDet;
                    a.resultOfLocaDet = result.data.resultOfLocaDet;
                    a.resultOfCityDet = result.data.resultOfCityDet;
                    a.resultOfSubLocaDet = result.data.resultOfSubLocaDet;
                    a.showsearch = true;
                }, function(error) {

                });
            }
        }



});
sidemenu.controller('sidemenu',['$scope','$rootScope','allServices'
功能(a、b、e){
a、 getValue=函数(键){
if(key==8&&a.NodeId_1.length 2){
e、 搜索列表(a.NodeId_1)。然后(函数(结果){
a、 resultOfPropDet=result.data.resultOfPropDet;
a、 ResultToBuldet=result.data.ResultToBuldet;
a、 resultOfLocaDet=result.data.resultOfLocaDet;
a、 resultOfCityDet=result.data.resultOfCityDet;
a、 ResultTofSublocadet=result.data.ResultTofSublocadet;
a、 showsearch=true;
},函数(错误){
});
}
}
});
所以当我在键盘上上上下移动箭头时。如何突出显示特定的行并触发特定的函数
像这样

有问题吗?@pedromarce,thanq回答,而不是提问。实际上,该代码完全适用于基于鼠标的事件,但我也想处理按键向上和按键向下事件,所以您可以使用ng keyup=“searchFilter()”和ng keydown=“searchFilter()”要实现与ng相同的效果,请点击上下键事件,而不是上下键。基于键盘箭头标记。按键必须突出显示并上下移动。有问题吗?@pedromarce,thanq用于回答,而不是提问。实际上,该代码完全适用于基于鼠标的事件,但我想处理上下键事件y向下事件也可以使用ng keyup=“searchFilter()”和ng keydown=“searchFilter()”实现与ng单击上下键事件相同的功能,而不是上下键。基于键盘箭头标记。单键事件必须高亮显示并上下移动