1

ng-repeat を使用して MySQL からのレコードを表示する Angular Table を使用しています。最後の列はチェックボックス列です。問題は、ページ間の移動 (ページネーション) で、チェックボックスがロードされた状態が持続することです。ページ間で状態を維持するにはどうすればよいですか (アイテムをチェック/チェック解除した場合)?

<tr ng-repeat="data in filtered = (list | filter:search | 
filter:{manufacturer:by_manufac} | 
filter:{errorStatus:by_errorStatus} | 
orderBy : predicate :reverse) | 
startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit">

<td>
    <input type="checkbox" name="checkedin" ng-model='checkedin' 
    ng-change='processForm(data)' ng-checked="data.Locked==1"/>
</td>
</tr>

コントローラーで:

$scope.processForm = function(checkedindata) {
      $http.post('ajax/setItems.php', { data : checkedindata })
    };
4

1 に答える 1

1

解決策に関心がある場合: コントローラーで、次のように $scope の値を更新するだけです。

   $scope.processForm = function(post_data) {
        for(i=0; i<$scope.filtered.length; i++) {
          if($scope.filtered[i]['productID'] == post_data['productID']){
              $http.post('ajax/setItems.php', { id : post_data['productID'], operation: !post_data['Locked'] })
              $scope.filtered[i]['Locked'] = !$scope.filtered[i]['Locked'];
              i=$scope.filtered.length;
          }
        }
    };
于 2016-07-22T11:57:09.933 に答える