Это мой код:
<div>
<input type="search" class="form-control" placeholder="Search Student" ng- model="stdsearch" />
</div>
<table class="table" >
<thead>
<tr>
<th><input type="checkbox" ng-model="master"></th>
<th>Admission No</th>
<th>Student Name</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="student in ClassStudents | filter:stdsearch">
<td><input id="checkSlave" type="checkbox" ng-checked="master" ng-model="student.isselected" aria-label="Slave input"></td>
<td>{{student.Admission_no}}</td>
<td>{{student.First_Name}} {{student.MiddleName}} {{student.Last_Name}}</td>
</tr>
</tbody>
</table>
Здесь My Query: Я хочу проверять только отфильтрованные строки в таблице. Когда я проверяю Master Checkbox (th)., Но здесь выбраны все строки таблицы, когда я удаляю текст поиска в поле поиска. Pls Предложите мне. 10Q.
Вот что я пробовал:
Плункер здесь
Я создал образцы данных в соответствии с HTML.
Используйте "last1" в качестве значения поиска. Вы получите представление.
$scope.ClassStudents = [{Admission_no :1,First_Name:'first1' ,MiddleName: 'middle1',Last_Name:'last1'},
{Admission_no :1,First_Name:'first2' ,MiddleName: 'middle1',Last_Name:'last1'},
{Admission_no :1,First_Name:'first3' ,MiddleName: 'middle2',Last_Name:'last2'},
{Admission_no :1,First_Name:'first4' ,MiddleName: 'middle3',Last_Name:'last1'}
];
$scope.checkUncheck = function(masterCheck){
angular.forEach( $scope.ClassStudents,function(value,key){
if(masterCheck && !$scope.stdsearch){
value.master = true;
}else{
value.master = false;
}
})
}
filter('customFilter',function(){
return function(input,masterCheck,stdsearch){
angular.forEach(input,function(value,key){
if(stdsearch){
if(masterCheck){
value.master = true;
}else{
value.master = false;
}
}
})
return input;
}
})
<body ng-controller="testCtrl">
<input type="text" ng-model="stdsearch">
<table class="table" >
<thead>
<tr>
<th><input type="checkbox" ng-model="master" ng-change = "checkUncheck(master) "></th>
<th>Admission No</th>
<th>Student Name</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="student in ClassStudents |filter : stdsearch| customFilter : master : stdsearch">
<td><input id="checkSlave" type="checkbox" ng-checked="student.master" ng-model="student.isselected" aria-label="Slave input"></td>
<td>{{student.Admission_no}}</td>
<td>{{student.First_Name}} {{student.MiddleName}} {{student.Last_Name}}</td>
</tr>
</tbody>
</table>
</body>
Пожалуйста, дайте мне знать, если есть какие-либо ошибки.