2016-11-19 38 views
0

我在我的角度/電子應用程序中使用了檢查表模型,並具有以下三個複選框。使用角度複選框模型進行驗證

  1. 兩個

  2. 美國

  3. 加拿大

首先,默認情況下 '美國' 被選中,但是如果用戶點擊「兩個'或'加拿大',I需要檢查一個特定的標誌,如果該標誌是錯誤的,我需要提醒用戶,並避免'兩個'或'加拿大'被點擊。

<div style="height:115px;background-color:#FBF9EC" class="form-control" > 
      <label ng-repeat="item in locations" style="width:80%"> 
        <input type="checkbox" checklist-model="locationData.item" checklist-value="item" checklist-before-change="checkListvalidate(item)" ng-change="checkBoxClickFunc(item)" ng-click="locationClick()"> 
        {{item}} 
      </label> 
     </div> 

In the controller: 
$scope.locationClick = function(){ 
    if(!myFlag){ 
      return false; 
    } 
}; 

清單-改動前該規範說每次

的角表情評估覈對表的模型已經改變之前。如果它評估爲'假',那麼模型不會再改變。

它是什麼,我沒有做正確....

回答

0

你必須在checkedbox輸入許多聽衆:

  • checklist-before-change="checkListvalidate(item)"
  • ng-change="checkBoxClickFunc(item)"
  • ng-click="locationClick()"

我認爲這些解決方案太多以至於無法滿足您的需求,此外,它會使邏輯的理解複雜化,並且可能會產生副作用。
爲什麼不只使用checklist-before-change指令並在裏面撥打locationClick()呢?
我覺得應該夠了。

這裏的示例:

<body ng-controller="MainCtrl"> 
    <div style="height:115px;background-color:#FBF9EC" class="form-control" > 
      <label ng-repeat="item in locations" style="width:80%"> 
        <input type="checkbox" checklist-model="locationData.item" 
          checklist-value="item" checklist-before-change="checkListvalidate(item)" > 
        {{item}} 
      </label> 
     </div> 
    </body>