如果点击卡片,如何更改复选框值?
<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 :(得分:0)
你的$ scope.click(id)方法应该将字段的ng-model,$ scope.value1设置为false值,当它为真时,反之亦然。这可以通过以下代码获得:
$scope.value1 = 1 - $scope.value1;
您的代码还有一些其他问题,因为您在复选框中使用整数,但在卡片的ng-class中检查值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;
}