Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于复选框的动态数据绑定列表_Javascript_Angularjs - Fatal编程技术网

Javascript 基于复选框的动态数据绑定列表

Javascript 基于复选框的动态数据绑定列表,javascript,angularjs,Javascript,Angularjs,我有一个角度的应用程序在这 在此按钮打开一个具有表格的模式。选中或取消选中表中的项目时,它会相应地更改进度栏中的值 下表列出了所有已检查课程的列表。如何相应地绑定此数据,以便选中复选框时,它也会动态显示此列表中的项目?以下是我用于显示此项目列表的代码: <div ng-repeat="child in selectedCourses"> {{child.course.subject}}-{{child.course.course_no}}

我有一个角度的应用程序在这

在此按钮打开一个具有表格的模式。选中或取消选中表中的项目时,它会相应地更改进度栏中的值

下表列出了所有已检查课程的列表。如何相应地绑定此数据,以便选中复选框时,它也会动态显示此列表中的项目?以下是我用于显示此项目列表的代码:

        <div ng-repeat="child in selectedCourses">
          {{child.course.subject}}-{{child.course.course_no}}
        </div>

{{child.course.subject}-{{child.course.course{u no}

问题在于您多次将相同的项目推入
$范围。selectedCourses
,这会导致错误(因为
ngRepeat
ed项目中存在重复值),从而导致视图无法更新

要防止多次添加同一项,应检查该项是否已存在于数组中:

$scop.checkplanneddetails = function (course) {
    ...
    for (var k = 0; k < $scope.planneddetails.length; k++) {
        if ($scope.requirementcoursename==$scope.planneddetails[k].course_name) {
            if (!$scope.checkcoursefunction($scope.selectedCourses, course)) {
                // ONLY add the course if it is NOT already present
                $scope.selectedCourses.push(course);
            }
            course.checked = true;
            return true;
        }
    }
    return false;
};


另请参见,此

对于新检查的值非常有效。但是,当我取消选中ENVR-1402时,它并不是在拼接它。我写的代码中还有其他错误吗?我忘了提到你应该检查我更新的ANWR,但显然你已经检查了:)嗨,我在其中一个问题上遇到了一些问题。你能帮忙吗?
<!-- Change that: -->
<input type="checkbox" ng-checked="checkplanneddetails(child)" ... />

<!-- To this: -->
<input type="checkbox" ng-init="checkplanneddetails(child)" ... />