2017-12-22 17 views
1

테이블에서 x 레코드가있는 테이블이 있습니다. 배열에 항목을 추가하거나 행을 선택 취소하면 제거합니다. 그러나 확인란이 맞는지 여부에 따라 함수를 실행하는 방법을 알지 못합니다. 그러나이 작업은 작동하지 않습니다.확인란을 선택하거나 선택 취소하면 funcionts가 실행됩니까? 각도

<tr ng-repeat="item in vm.orders" ng-click="vm.getRow(item)"> 
    <td>{{item.Name}}</td> 
    <td>{{item.state}}</td> 
    <td><input type="checkbox" 
      ng-true-value="vm.addToArray(item)" 
      ng-false-value="vm.removeFromArray(item)" 
    /></td> 
</tr> 

컨트롤러 :

function addToArray(model) { 
    vm.selectedItems.push(model); 
} 

function removeFromArray(model) { 
    //my logic remove 
} 

답변

1

그리고 다음과 같이 NG 반복을 변경,

<td><input type="checkbox" ng-model="checked" 
      ng-change="addorRemove(checked, item)"" 

    /></td> 

사용 array.splice

function addorRemove(checked,model) { 
    if(checked ==false){ 
    vm.selectedItems.splice(model, 1); 
    } 
    else 
    { 
    vm.selectedItems.push(model); 
} 
} 
+0

emm이 작동하지만 내 문제가 ng-true-value 및 ng-false-value에서 호출 기능을 작동하지 않습니다. –

+0

@DaniloCaroAparicio는 위와 같이 변경합니다 – Sajeetharan

1

내 이해에 따라 addToArrayaddToArray을 호출 할 수 없습니다. 아래 보여 당신이 ng-change를 사용할 수있는 달성하기

<input type="checkbox" ng-model="item.myChkModel" ng-change="vm.myClick(item)"> 

$scope.vm.myClick = function($event) { 
      //write logic to add or remove item based on model value 
     } 

는 도움이되기를 바랍니다.