Javascript 保存到angularjs后要选中的复选框

Javascript 保存到angularjs后要选中的复选框,javascript,angularjs,Javascript,Angularjs,我在应用程序中使用angularjs。我使用多个复选框选择,并将其以[1,2,3,4,5]的格式存储在数据库中。例如,如果选中的复选框为1,则我将值存储为1。如果选中多个复选框,则存储为1,2,3,依此类推 这是html <div class="col-xs-12"> <div data-ng-repeat="healthStatus in HealthStatuses"> <input id="chkCustomer_{{healthSt

我在应用程序中使用angularjs。我使用多个复选框选择,并将其以[1,2,3,4,5]的格式存储在数据库中。例如,如果选中的复选框为1,则我将值存储为1。如果选中多个复选框,则存储为1,2,3,依此类推

这是html

<div class="col-xs-12">
    <div data-ng-repeat="healthStatus in HealthStatuses">
        <input  id="chkCustomer_{{healthStatus.Value}}" value="
            {{healthStatus.Value}}" type="checkbox" 
            data-ng-checked="selection.indexOf(healthStatus.Value) > -1" 
            data-ng-click="toggleSelectionHealthStatus(healthStatus.Value)" />
        {{healthStatus.Name}}</label>
    </div>
</div>
下面是我如何推送所选复选框值

$scope.selectionHealthStatus=[];
$scope.toggleSelectionHealthStatus = function toggleSelection(Value) {
    var idx = $scope.selectionHealthStatus.indexOf(Value);
    if (idx > -1) {
        $scope.selectionHealthStatus.splice(idx, 1);
    } else {
        $scope.selectionHealthStatus.push(Value);
    }
};
现在,在检索数据时,我希望选中复选框。但现在它没有发生

下面是我如何检索数据的

userPageService.getHealthStatus().then((data) => {
    data = data.data;
    $scope.formData = data;
});
如果我把控制台放在$scope.formData上,这就是我得到的

participantIllnessAndDisability:"[1, 2, 3, 4]"

这里participantillness和disability是一个选中了多个复选框的字段。现在我要做的是在查看时添加数据后,我希望选中所选的复选框。我以[1,2,3]格式从数据库中获取数据。数据库中字段participantillness和disability的数据类型为字符串。

加载页面时,不会自动调用选中的ng上的函数。因此,它不会选中该复选框

您可以将ng模型或ng表达式指定给checked属性,并在数据加载时从控制器初始化它

更新: 请试试这个

userPageService.getHealthStatus().then((data) => {
                 data = data.data;
                 $scope.formData = data;
                 $scope.HealthStatuses.forEach((o) => o.Selected = JSON.parse(data.participantIllnessAndDisability).includes(o.Value));
        });

我给了ng模型,而不是ng checked,但它是抛出错误我添加了行,但复选框仍然没有得到checked@SachinHR
$scope.selectionHealthStatus
值应该是我在回答中更新的格式是的,你可以在我的问题中看到它。我使用的是相同的格式,但你返回时就像
“[1,2,3,4]”
不是那种格式。你是说来自数据库吗?好像你有一个结束标记和一个开始对应的标记。
userPageService.getHealthStatus().then((data) => {
                 data = data.data;
                 $scope.formData = data;
                 $scope.HealthStatuses.forEach((o) => o.Selected = JSON.parse(data.participantIllnessAndDisability).includes(o.Value));
        });