2015-06-11 53 views
3

我有以下HTML:Binding複選框建模和檢查/中取消選中它角

<li ng-repeat="test in lists.Tests"> 
    <label> 
     <input type="checkbox" id="cbxAcceptTest" ng-checked="{{test.IsAccepted}}" ng-click="testSelection($event,{{test}})" /> 
    </label> 
</li> 

和testSelection方法:

$scope.testSelection = function ($event, test) { 
    if (test.IsAccepted) { 
     alert('accept'); 
    } 
    else { 
     alert('reject'); 
    } 

}; 

我不能夠在觸發此方法ngClick,它適用於ngChecked,但後來我必須使用ngModel,我已閱讀的ngModel在下面的link中不適用於ngChecked。

+0

NG點擊=「testSelection()」這將調用你的方法是在控制器 – Hurix

+1

我需要發送參數的方法,以及更新模型 – SJMan

回答

1

在我來說,我有這樣的事情:

<li ng-repeat="item in items"> 
    <label> 
     <input type="checkbox" ng-model="item.auto" ng-click="onAutoClick(item)" /> 
    </label> 
</li> 

在我的控制器:

$scope.onAutoClick = function(item) { 
    if(item.auto){ 
    // checked (true condition) 
    } else { 
    // unchecked (false condition) 
    } 

}; 
1

只是刪除測試周圍大括號,當你把它作爲一個參數。

1

請檢查這個Plnkr

在HTML中你需要刪除你的花括號

<li ng-repeat="test in lists.Tests"> 
    <label> 
     <input type="checkbox" id="cbxAcceptTest" ng-checked="{{test.IsAccepted}}" ng-click="testSelection(test)" /> 
    </label> 
相關問題