2017-02-01 24 views
-1

我有表示爲複選框對象的數組,我要禁用的複選框,如果它的檢查(它的值是從數據庫中設置)在控制器如果選中,禁用角度複選框?

<md-input-container ng-repeat="tab in allTabs"> 
          <md-checkbox checklist-model="pop.tabs" checklist-value="tab" ng-disabled="disableCheckbox(this)"> 
           {{tab.name}} 
          </md-checkbox> 
         </md-input-container> 

$scope.disableCheckbox = function (chk) { 
     if (chk.isChecked) 
      return true; 
     else 
      return false; 
    } 

但這禁用所有複選框!

編輯

我應該使用chk.checked相反,它的工作原理,但問題是,一旦一個複選框被選中是殘疾人,我可以改變這種行爲?

+0

您的數據格式不清楚。 'tab'對象包含什麼?什麼是'清單模型'? '清單,value'?這些不是標準指令... –

+0

我使用這個指令https://vitalets.github.io/checklist-model/ 'tab'只是一個對象,它包含像'name''數據描述''dateCreated',沒什麼特別的 –

回答

-2

發生的原因是您正在使用禁用ng的函數。在每個摘要循環中檢查函數。

就這樣說,我的建議是在你的標籤對象中創建一個屬性「isChecked」,並將其設置爲ng-click,ng-disable應該保持如下形式:ng-disabled =「!tab.isChecked」 。

Regards,