【发布时间】:2017-12-30 06:08:27
【问题描述】:
我已寻找解决问题的方法,但未能找到正确答案。
我有一个所有个问题的列表和一个选定个问题的列表。我需要从所有问题列表中构建一个复选框列表,并检查所选问题列表中的复选框。当对复选框进行更改时,我需要相应更新所选问题的列表。所有问题的列表永远不会改变。我怎样才能做到这一点?这是我的情况的一个非常简短的版本:
var MyApp = angular.module('MyApp', []);
MyApp.controller('MyController', ['$scope', function ($scope) {
$scope.allQuestions = [
{ q_id: 1, q_txt: 'What time is it?', q_sort: 1},
{ q_id: 2, q_txt: 'What is that?', q_sort: 2},
{ q_id: 3, q_txt: 'Who are you?', q_sort: 4},
{ q_id: 4, q_txt: 'What color is that?', q_sort: 3}
];
$scope.selectedQuestions = [
{ q_id: 1, other_prop: 'yyy' },
{ q_id: 4, other_prop: 'zzz' },
];
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="MyApp" ng-controller="MyController">
<div ng-repeat="question in allQuestions"><input type="checkbox" ng-model="x" /> {{ question.q_txt }}</div>
</div>
在我的应用程序中,列表来自服务器,我希望能够在保存更改时将选定的问题列表作为对象返回给服务器。 我无法弄清楚完成此操作的绑定,或者如何检查正确的复选框。请注意,这两个列表是不同的,但两者都有 q_id 值作为匹配它们的键。任何帮助将不胜感激。
【问题讨论】: