Javascript Angularjs modal使用复选框表现怪异
我有一个角度的应用程序在这 当我们点击按钮时,它会打开一个模式对话框,其中有一个项目列表。其中2项是根据复选框表输入中的条件预先选中的 这是推动和拼接的功能:Javascript Angularjs modal使用复选框表现怪异,javascript,angularjs,Javascript,Angularjs,我有一个角度的应用程序在这 当我们点击按钮时,它会打开一个模式对话框,其中有一个项目列表。其中2项是根据复选框表输入中的条件预先选中的 这是推动和拼接的功能: $scope.toggleCheck = function (course) { //debugger var x = $scope.checkplanneddetails(course); if ($scope.selectedCourses.indexOf(course) === -1){ $s
$scope.toggleCheck = function (course) {
//debugger
var x = $scope.checkplanneddetails(course);
if ($scope.selectedCourses.indexOf(course) === -1){
$scope.selectedCourses.push(course);
$scope.planned += 3;
} else {
$scope.selectedCourses.splice($scope.selectedCourses.indexOf(course), 1);
$scope.planned -= 3;
}
$scope.getPercentage();
};
当从该列表中选择(选中)一个课程时,它会将3添加到$scope.planned
中,并相应地增加进度条。同样,当复选框未选中时,它也会以相同的方式减少
但是,当模式对话框加载时,对于已选中的项目,则相反。代码哪里出错了?问题是您试图在Attential数组中保留复选框的状态。相反,您应该只使用“ng-”指令(如ng模型,或选中ng复选框) 这是我的修改:
$scope.toggleCheck = function (course) {
//debugger
if(course.checked){
$scope.planned += 3;
} else {
$scope.planned -= 3;
}
$scope.getPercentage();
};
我还将“ng clicked”改为“ng changed”,因为第一个选项是在实际更改值之前触发的$scope.selectedCourses在第一次单击复选框时是空的,即使其中一些是预选的。我如何避开它?mpttid.subcategory在您的plunkr中未定义,所以填充所选课程的forEach没有被填满。你能帮我一下吗?我还有一个问题,取消选中requirements.json中的课程是否应该在模式中选中?我认为你的劫掠者没有所有必要的数据来帮助你。