在angular JS中搜索列表
Searching the list in angular JS
我有一个搜索框在一个页面即header.html文件和我要实现搜索功能的列表是在另一个页面即content.html。那么在这种情况下,我该如何使用angularjs的搜索功能呢?下面是html代码:
header.html
<div class="input-group col-md-12 search-inner-page ">
<input type="text" class="form-control" placeholder="Search" name="q">
</div>
content.html
<div class="surveyList" ng-repeat="survey in allSurveys">
<span class="checkbox" ></span>
<div class="toogleSurvey row" ng-mouseover="hoverIn()" ng-mouseleave="hoverOut()">
<div class="col-xs-5 col-sm-2 col-md-2">{{survey.Name}}</div>
<div class="col-xs-5 col-sm-1 col-md-1">{{survey.Type}}</div>
<div class="col-sm-3 col-md-3 hidden-xs">{{survey.SurveyReference}}</div>
<div class="col-sm-3 col-md-3 hidden-xs">{{survey.CreatedDate}}</div>
<div class="col-sm-2 col-md-2 hidden-xs SurveyLastChild">{{survey.Status}}</div>
<div class="hidden-xs surveyListTool" ng-show="hoverEdit">
<a class="editSurvey" title="edit"></a>
<a class="deleteSurvey" title="delete"></a>
<a class="exportSurvey" title="export survey"></a>
<a class="menuSurvey" title="menu"></a>
</div>
</div>
contentCtrl.js
angular.module("adminsuite").controller("surveyController",['getAllSurveyService','AuthenticationService', '$scope','$rootScope', '$state', function(getAllSurveyService,AuthenticationService, $scope,$rootScope,$state){
getAllSurveyService.surveyList().then(
function( data ) {
$scope.allSurveys = data;
console.log($scope.allSurveys);
if($scope.allSurveys.ErrorMessage){
AuthenticationService.ClearCredentials();
$state.go('login');
}
}
);
}]);
headerController.js
angular.module("adminsuite").controller("headerController",['AuthenticationService','$rootScope','$cookieStore','$scope',function(AuthenticationService,$cookieStore,$scope,$rootScope){
$scope.header = "Header";
$scope.searchInSurvey = $scope.surveySearch;
$scope.logout = function(){
//$scope.dataLoading = true;
AuthenticationService.ClearCredentials();
console.log($cookieStore.get('globals'));
//$state.go('login');
};
}]);
如前所述在header.html的搜索框中输入内容,它会搜索content.html页面中的内容。
您可以在header.html的输入上使用ng-change
来更新allSurveys
数组。
只需添加一个ng-change
和一个ng-model
到您的输入
<div class="input-group col-md-12 search-inner-page ">
<input ng-model="yourCtrl.searchInput" ng-change="yourCtrl.searchInputChanged" type="text" class="form-control" placeholder="Search" name="q">
</div>
在你的控制器中,你可以添加一个函数searchInputChanged
,它将使用.filter()
基于searchchinput过滤数据。
您可以将变量中的调查列表设置为$rootScope,并从另一个控制器获取其值,如下所示:
//Controller that contains the list
$rootScope.surveysList = [s1,s2,s3,...,sn];
之后,您可以获得该变量并将其设置为输入所在的控制器范围。
$scope.allSurveys = $rootScope.surveysList;
你的输入应该像这样:
<input ng-model="surveySearch" type="text" class="form-control" placeholder="Search" name="q">
列表模板中的que query应该是这样的:
ng-repeat="survey in allSurveys | filter:surveySearch"
我希望它对你有用
谢谢大家。我得到的答案是这样的……
header.html
<div class="input-group col-md-12 search-inner-page">
<input type="text" class="form-control" placeholder="Search" name="q" ng-model="global.search">
<img src = "images/search.png" alt = "Generic placeholder thumbnail" >
</div>
content.html
<div class="surveyList" ng-repeat="survey in allSurveys | filter:global.search">
<span class="checkbox" ></span>
<div class="toogleSurvey row" ng-mouseover="hoverIn()" ng-mouseleave="hoverOut()">
<div class="col-xs-5 col-sm-2 col-md-2">{{survey.Name}}</div>
<div class="col-xs-5 col-sm-1 col-md-1">{{survey.Type}}</div>
<div class="col-sm-3 col-md-3 hidden-xs">{{survey.SurveyReference}}</div>
<div class="col-sm-3 col-md-3 hidden-xs">{{survey.CreatedDate}}</div>
<div class="col-sm-2 col-md-2 hidden-xs SurveyLastChild">{{survey.Status}}</div>
<div class="hidden-xs surveyListTool" ng-show="hoverEdit">
<a class="editSurvey" title="edit"></a>
<a class="deleteSurvey" title="delete"></a>
<a class="exportSurvey" title="export survey"></a>
<a class="menuSurvey" title="menu"></a>
</div>
headerCtrl.js
$rootScope.global = {
search: ''
};
相关文章:
- 在javascript中搜索项目列表的性能
- 如何在剑道下拉列表中按文本和值搜索
- 为非列表项目创建HTML实时搜索
- 在元素列表中搜索给定字符串
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 从下拉列表中搜索并建议关键字
- 使自动完成可搜索下拉菜单don'我不想在点击搜索时显示列表
- 返回谷歌搜索的网址列表
- 如何创建一个脚本,该脚本给定网站列表,它使用其搜索功能来获取信息
- 如何将从谷歌自定义搜索API获取的数据放入复选框列表
- 以有效的方式搜索对象列表 mongo
- 如何在 jQuery 中显示“未找到结果”列表搜索
- 通过jquery搜索列表(不区分大小写)
- 自动完成搜索列表问题
- javascript:使搜索列表中的项目可点击
- 突出显示搜索列表不工作(jquery问题)
- React Native Firebase搜索列表视图
- 排序或搜索列表时,自定义项将消失
- 访问控制列表在阿尔及利亚搜索列表
- 在angular JS中搜索列表