我想我正在尝试在Angular中做一些相对简单的事情,但由于某些原因,我无法完全理解ngClick、ngModel、ngChange或ngChecked来解决它。
我有一大堆重复的复选框,当一个复选框被选中时,一个函数会提醒一件事,而当它没有被选中时,该函数会提醒另一件事。下面是一些伪代码:
HTML:
<div id="topic" ng-repeat="50 times">
<input type='checkbox' ng-model='???' ng-click='myFunc($index)' />
</div>脚本:
function myFunc(index) {
if (checkbox == checked) {
alert('checkbox ' + index + 'checked!');
}
else {
alert('checkbox' + index + 'unchecked!');
}
}所以问题是我不知道如何区分复选框中的哪个复选框是选中的,什么时候是未选中的。有人有什么想法吗?
发布于 2014-03-11 18:27:58
你需要一个控制器的帮助..
我会这样做:
初始化$scope上的空值数组和要在更改时使用的函数。
$scope.checkboxes = [];
$scope.alert = function(index, event){
alert("checkbox " + index + " is " + $scope.checkbox[index]);
}将ng-model绑定到checkboxes[$index],然后就可以使用ng-change了,因为您已经指定了一个模型。
<input type="checkbox"
ng-model="checkbox[$index]"
ng-change="alert($index)"> 请参阅此plunker。
发布于 2014-08-28 21:42:39
Ng-model在ng-click之后被调用。所以你可以在ng-click上清除模型,然后就完成了。单击ng后,nd-model将显示该值
Javascript代码:
for (var i = 0; i < $scope.sunday_workshop.length; i++) {
$scope.sunday_workshop[i].flag = false;
}HTML代码:
<div ng-repeat="workshop in sunday_workshop">
<input type="checkbox" name="sun_workshop" ng-checked="workshop.flag" ng-model="workshop.flag" ng-click="workshop_method('sunday')"> {{workshop.WS_Option}}
https://stackoverflow.com/questions/22322568
复制相似问题