AngularJS:检测ngRepeat中哪个复选框被选中/未选中,并调用一个函数
AngularJS: Detecting which checkbox in an ngRepeat is checked/unchecked and calling a function
我想我正在尝试在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!');
}
}
所以问题是我不知道如何分辨repeat中的哪个复选框是选中的,什么时候是未选中的。有人有什么想法吗?
你需要一个控制器的帮助…
我会这样做:
在$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)">
看这个活塞
Ng-model在ng-click之后被调用。你可以在ng-click上清除模型,就完成了。n -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}}
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 调用函数内部的函数
- 在javascript中调用c函数
- DropDownListFor赢得't在更改时调用函数
- Javascript页面调用函数
- 在动画结束之前调用函数
- 允许父窗口在其不同域的子iframe上调用函数
- 运行Infinite Scroll后调用函数时出现问题
- JavaScript:在调用函数的文本输入上按enter键
- 使用大括号和不使用bracs调用函数的区别
- javascript在事件上调用函数
- 从index.html调用函数,该函数无限循环
- 从带参数的字符串变量调用函数中的函数
- 为什么 JS 不在滚动时调用函数
- 是否可以在不更改上下文的情况下调用函数.apply
- 如何在ES6类中使用参数调用函数
- AngularJS:调用函数时编号不更新
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 在JavaScript中调用函数时自定义此选项
- 调用函数中声明的变量