2014-10-29 76 views
0

我有一個複選框。HTML中的JavaScript AngularJS調用函數

如果檢查 - >調用一個函數displayBus(數量)

如果選中 - >調用其他功能displayCar()

這段代碼的問題是,我也曾經到點擊隱藏或顯示以調用該功能。

<input type="checkbox" id="mycheckbox" name="mycheckbox" ng-model="mycheckbox" /> 
     <div ng-show="mycheckbox"> 
      <a style="cursor: pointer;" ng-click="displayBus(number);">hide</a> 

     </div> 
     <div ng-hide="mycheckbox"> 
      <a style="cursor: pointer;" ng-click="displayCar();">show</a> 
     </div> 

但我只想檢查/取消選中,然後自動調用該函數。 我不想點擊隱藏或顯示。

感謝您的幫助。

回答

7

您可以連接最多的NG-變化的複選框,然後檢查它的值:

<input type="checkbox" id="mycheckbox" name="mycheckbox" ng-model="mycheckbox" data-ng-change="dataChanged()" /> 

,然後在你的JavaScript:

$scope.dataChanged = function(){ 
    if($scope.mycheckbox){ 
     //checked 
    } 
    else{ 
     //not checked 
    } 
}; 

編輯

如果您只想在html中執行此操作:

<a style="cursor: pointer;" ng-click="myCheckbox ? displayBus(number) : displayCar()">hide</a> 

編輯

<input type="checkbox" id="mycheckbox" name="mycheckbox" ng-model="mycheckbox" data-ng-change="myCheckbox ? displayBus(number) : displayCar()" /> 
+0

謝謝,但如果它不是在JavaScript更好,但HTML – Carlos 2014-10-29 12:59:10

+0

見最新編輯 – 2014-10-29 13:06:03

+0

我需要選中/清除。然後執行displayBus(number)或displayCar() – Carlos 2014-10-29 13:24:27