Как выбрать только отфильтрованные данные таблицы в angularjs?

0

Это мой код:

<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}}&nbsp;{{student.MiddleName}}&nbsp;{{student.Last_Name}}</td>
        </tr>
    </tbody>
</table>

Здесь My Query: Я хочу проверять только отфильтрованные строки в таблице. Когда я проверяю Master Checkbox (th)., Но здесь выбраны все строки таблицы, когда я удаляю текст поиска в поле поиска. Pls Предложите мне. 10Q.

Теги:

1 ответ

0
Лучший ответ

Вот что я пробовал:

Плункер здесь

Я создал образцы данных в соответствии с 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}}&nbsp;{{student.MiddleName}}&nbsp;{{student.Last_Name}}</td>
            </tr>
            </tbody>
            </table>
  </body>

Пожалуйста, дайте мне знать, если есть какие-либо ошибки.

  • 0
    Спасибо тебе, JI @Riyaj Хан

Ещё вопросы

Сообщество Overcoder
Наверх
Меню