1

リクエストでチェックボックスが選択されている場合、無効なアカウントを表示するには、activationstatus を false として送信する必要があり、チェックを外した場合は、値を true として渡す必要があります。$scope.checkedStatus = true を初期化した後、私のチェックボックスは同じ値を渡しているだけです。値は false として渡されません。

HTML :

<div>
<input type="checkbox" ng-model="checkedStatus" ng-click = "viewAccount">
  Show Deactivated Account
</div> 

JS:

 $scope.checkedStatus = true;
 $scope.viewAccount = function(){

              var json = {
  "json": {
    "request": {
      "servicetype": "6",
      "functiontype": "6014",
      "session_id": $rootScope.currentSession,
           "data": {
        "shortname": $scope.model.selectShortName,
        "groupzname": $scope.model.selectGname,
        "city": $scope.model.selectCity,
        "state": $scope.model.selectState,
        "country": $scope.model.selectCountry,
        "groupzcode": $scope.model.selectGcode,
         "activationstatus": !($scope.checkedStatus),
        "details": false,
        "sortbasedon": $scope.groupzname,
        "orderby": "desc",
        "offset":$scope.pagination
           }

    }
  }
};

    UserService.viewListAccount(json).then(function(response) {
    if (response.json.response.statuscode == 0)
                        {
                   $scope.tableData = response.json.response.data; 
                        }
                }); 
        };

自動的にチェックボックスが値を変更していません。

4

4 に答える 4

0

あなたのjsonでは、を否定しているだけですが$scope.checkedStatusその値を変更していません。したがって、常に同じ結果が得られます。
jsonで使用する代わりに、スコープ値を変更する!($scope.checkedStatus)だけです。

 $scope.checkedStatus = true;
 $scope.viewAccount = function(){
   $scope.checkedStatus = !$scope.checkedStatus; //check this line
    var json = {
    "json": {
      "request": {
        "servicetype": "6",
        "functiontype": "6014",
          .
          .
          "activationstatus": $scope.checkedStatus,
          .
          .
          "orderby": "desc",
          "offset":$scope.pagination
             }

      }
    }
};
于 2016-09-23T07:03:05.763 に答える
0

$scope にラッパー オブジェクトモデルを作成し、checkedStatus プロパティを作成します。

$scope.model = {
    checkedStatus: true
};

参照されている場所に関連する変更を加えます。

HTMLのように、これらの変更を行います

ng-click="viewAccount()" ng-model="model.checkedStatus"

また、補足として、スコープにプロパティを直接アタッチしてはならず、常にラッパー オブジェクトを作成するか、コントローラーを構文として使用して、このような問題を取り除くようにしてください。

この記事をチェックしてください: AngularJS: If you don't have a dot, you're doing it wrong - 詳しくは http://zcourts.com/2013/05/31/angularjs-if-you-dont-have をご覧ください。 -a-dot-youre-doing-it-wrong/#sthash.NDNvWL5E.dpuf

于 2016-09-23T07:11:05.370 に答える