【发布时间】:2017-10-18 00:11:12
【问题描述】:
我的 html 中有如下复选框,
<div ng-repeat="fruit in fruits">
<input type="checkbox" name="{{fruit.name}} ng-model="fruit.value"
ng-checked="isChecked(fruit)" ng-change="changed(fruit)" ng-required="true" ">{{fruit.name}}
</div>
<input type="hidden" ng-model="selectedFruits">
我有如下的角度js代码,
$scope.fruits=[{name:"Mango", value:false},{name:"Apple", value:false},{name:"Banana", value:false}];
var array=["Apple","Banana"];
$scope.isChecked = function(fruit){
for(var I=0; I <array.length; I++){
if(fruit.name == array[I]){
fruit.value=true;
}
}
}
$scope.changed= function(fruit){
var selectFruit ='';
$scope.fruits.forEach(function(fruit){
if(fruit.value){
if(selectFruit){
selectFruit += '-';
}
selectFruit += fruit.name;
}
})
$scope.selectedFruits = selectFruit;
}
该隐藏字段用于在“selectedFruits”中附加选定的复选框名称。 [前任。芒果-苹果]
从上面的代码中,我在 html 页面中默认选中的复选框是数组中的 Apple 和 Banana。
我的问题是,当我尝试取消选择该复选框(Apple/banana)时,它不会被取消选择。它总是只显示选中的。 我应该如何取消选中该复选框? 有人可以帮我吗?
【问题讨论】:
-
ng-model="fruit.value" -
对不起..我在 ng-model 中输入了错误的 {{}}。我只使用 ng-model="fruit.value"。
-
如果需要任何其他更改,您能再看看吗? @Satpal
标签: javascript jquery html angularjs checkbox