2015-10-16 102 views
0

如果我點擊卡片,如何更改複選框的值?當它是真實的,反之亦然如何通過點擊卡片來觸發複選框更改

<input id="{{a.switchID}}" name="value1" style="display:none;" type="checkbox" ng-click="send(a.deviceID,a.pinNumber,a.switchID,value1)" ng-model="value1" ng-true-value="1" ng-false-value="0"></input> 
<label style="margin-left: -15px;" for="{{a.switchID}}"></label> 
<div class="card" ng-click="click(a.switchID)" style="margin:-59px 0px -2px 51px;height:64px;width:100%" ng-class="{'class1': value1 == false,'class2': value1 == true}"> <p style="margin-left:11px;font-size:18px;color:white;margin-top:8px;">{{a.alias}}</p> 
    <p style="font-size:16px;color:white;margin-top:8px;margin-right:11px;" class="pull-right">{{stat}}</p> 
</div> 

回答

0

你$ scope.click(ID)方法應該設置字段的NG-模型,$ scope.value1,爲假值。這可以用下面的代碼來獲得:

$scope.value1 = 1 - $scope.value1; 

還有一些其他問題與您的代碼,因爲事實上,你使用整數你的複選框,但檢查值1針對您的卡納克級的布爾值。最好的可能是一直使用布爾值,這將簡化您的條件:

<input id="{{a.switchID}}" name="value1" style="display:none;" type="checkbox" ng-click="send(a.deviceID,a.pinNumber,a.switchID,value1)" ng-model="value1"></input> 
<label style="margin-left: -15px;" for="{{a.switchID}}"></label> 
<div class="card" ng-click="click(a.switchID)" style="margin:-59px 0px -2px 51px;height:64px;width:100%" ng-class="{'class1': !value1,'class2': value1}"> <p style="margin-left:11px;font-size:18px;color:white;margin-top:8px;">{{a.alias}}</p> 
    <p style="font-size:16px;color:white;margin-top:8px;margin-right:11px;" class="pull-right">{{stat}}</p> 
</div> 


$scope.click = function(id) { 
    $scope.value1 = ! $scope.value1; 
} 
相關問題