0
我创建了一个包含一些文本框,单选按钮和复选框的页面。我正在使用此页面来保存新数据或编辑现有数据。我可以保存新数据,但为了编辑数据,页面应该显示一些预定义的值,这些值是从变量中获取的。我能够从该变量中获取和设置文本框和单选按钮的值。但我无法检查复选框。我有很多复选框,所以我正在使用ng-repeat将值显示在页面上。我将所选复选框的值设置为数组并将该值传递给我的服务层。从AngularJS的数组值中选择复选框
下面是我的代码片段:
HTML:
<div id="activityCheckboxList" class="checkboxList">
<div ng-repeat="activity in activities">
<label>
<input type="checkbox" ng-true-value="activity" ng-checked="selection.indexOf(activity) > -1" ng-click="toggleSelection(activity)"/>
<span>{{activity.activityName}}</span>
</label>
</div>
</div>
app.js:
$scope.selection=[];
$scope.getActivities(); //this sets values in $scope.activities which is a list coming from service layer
//Get Selected Activities from Check Boxes
$scope.toggleSelection = function toggleSelection(activity){
var idx = $scope.selection.indexOf(activity);
if(idx > -1){
$scope.selection.splice(idx, 1);
}
else{
$scope.selection.push(activity);
}
};
在此之后,当点击提交,我传递$ scope.selection这将包含我的活动对象。
对于编辑数据,我可以把数据放在选择[]中。但如何检查使用该复选框,并在该用户之后,应该取消/检查他们再次。我尝试使用foreach循环,但它没有帮助。
在此先感谢
非常感谢!你真的帮助节省了很多时间。 :) – blu3