AngularJS过滤器文本返回undefined

时间:2016-08-26 11:36:54

标签: javascript html angularjs arrays filter

家伙!我对AngularJS中的一些过滤文本有疑问。我想选择从数组返回的过滤文本,我的意思是搜索后显示的文本。现在如果我选择所有项目,使用复选框选择所有项目。我已经尝试过这种方式,但是它给了我一个错误,即searchText是未定义的。有没有人知道如何解决这个问题?

这是我的HTML:

<div class="modal-body">
        <div>
            <md-input-container flex> <label>Search</label>
            <input ng-model="searchText.name"> </md-input-container>
            <md-checkbox ng-model="modelItemsList.allItemsSelected" 
            ng-click="selectAll()">
            Select all
                     </md-checkbox>
                     </div>
            <!-- /.modal-search-box -->
            <div class="md-list">
                <md-list> <md-list-item class="md-3-line"
                    ng-repeat="modelItem in modelItemsList | filter:searchText">
                <div class="md-list-item-text">
                    <md-checkbox ng-model="modelItem.isChecked " aria-label="Checkbox 1" ng-change="selectModelItem(modelItem)">
                    <h3>{{ $eval('modelItem.'+propertyName) }}</h3>
                    <p>{{ $eval('modelItem.'+propertyDesc) }}</p>
                     </md-checkbox>
                </div>
                </md-list-item> </md-list>
                <md-button class="md-primary" ng-click="saveValues()" >Save</md-button>
            </div>
            <!-- /.modal-items-list -->
        </div>

这是我在AngularJS中的select all函数

$scope.selectAll = function(){
                     console.debug("searchText", $scope.searchText);
                     filteredArray = filterFilter($rootScope.modelItemsList, $scope.searchText);

                     $rootScope.modelItemsList.allItemsSelected = !$rootScope.modelItemsList.allItemsSelected;

                     if($rootScope.modelItemsList.allItemsSelected){
                        for (var i = 0; i < $scope.modelItemsList.length; i++) {
                            $rootScope.temp.push($scope.modelItemsList[i].name);
                            $scope.modelItemsList[i].isChecked = $rootScope.modelItemsList.allItemsSelected;


                        }

                     }
                     else if (!$rootScope.modelItemsList.allItemsSelected){
                         for (var i = 0; i < $scope.modelItemsList.length; i++) {
                         $scope.modelItemsList[i].isChecked = $rootScope.modelItemsList.allItemsSelected;
                         $rootScope.temp = [];
                         }
                    }
                }

当我控制台登录我的searchText时,我得到了这个:

searchText undefined

我不知道为什么。有人能帮我吗?在此先感谢!!

0 个答案:

没有答案