2016-05-05 10 views
0

基本的には、チェックボックスをオンにするとタグセットが作成されますが、タグを削除する機能を作成すると、タグを削除するときにチェックボックスをオフにする方法がわかりません。外部機能と角度のあるチェックボックスをオフにするにはどうすればよいですか?

<div class="" ng-repeat="(key, value) in filterTags">{{value}}<div ng-click="changeTag(subproduct);">X</div></div> 

<input type="checkbox" ng-model="active" ng-change="change(subproduct, active)"> 

上記は

$rootScope.change = function(subproduct, active){ 
     if (active){ 

      $rootScope.filterList.push(subproduct.subproduct_id); 
      $rootScope.filterPush = "?subproducts[]="+$rootScope.filterList.join("&subproducts[]="); 
      $rootScope.filterTags.push(subproduct.subproduct_name); 
      } 
     else{ 
      $rootScope.filterList.splice($rootScope.filterList.indexOf(subproduct), 1); 
      $rootScope.filterPush = "?subproducts[]="+$rootScope.filterList.join("&subproducts[]="); 
      $rootScope.filterTags.splice($rootScope.filterTags.indexOf(subproduct), 1); 
      } 
    }; 

    $rootScope.changeTag = function(subproduct, active){ 


     $rootScope.filterList.splice($rootScope.filterList.indexOf(subproduct), 1); 
     $rootScope.filterPush = "?subproducts[]="+$rootScope.filterList.join("&subproducts[]="); 
     $rootScope.filterTags.splice($rootScope.filterTags.indexOf(subproduct), 1); 

    }; 

答えて

0

はちょうどこの

<input type="checkbox" ng-model="active" ng-change="change(subproduct, active)"> 

JS

$rootScope.filterTags = []; 
$scope.change = function(subproduct, active){ 
    var indexOf = $rootScope.filterTags.indexOf(subproduct.subproduct_name); 
    if(angular.equals(indexOf, -1)){ 
     $rootScope.filterTags.push(subproduct.subproduct_name); 
    } 
    else{ 
     $rootScope.filterTags.splice(indexOf, 1); 
    } 
}; 
を試してみてください以下のHTMLが機能しているあります
関連する問題