Javascript 编辑配置文件页面上的Angularjs复选框值

Javascript 编辑配置文件页面上的Angularjs复选框值,javascript,php,jquery,angularjs,checkbox,Javascript,Php,Jquery,Angularjs,Checkbox,我是angularjs新手,在编辑个人资料页面的复选框值上遇到了一些问题 我有一个复选框数组 $scope.checkBoxes = [ {id:'1', value:'Reading'}, {id:'2', value:'Cooking'}, {id:'3', value:'Dancing'}, {id:'4', value:'Singing'} ]; 我使用了ng repeat来显示复选框 <div ng-repeat=

我是angularjs新手,在编辑个人资料页面的复选框值上遇到了一些问题

我有一个复选框数组

$scope.checkBoxes = [
        {id:'1', value:'Reading'},
        {id:'2', value:'Cooking'},
        {id:'3', value:'Dancing'},
        {id:'4', value:'Singing'}
];
我使用了ng repeat来显示复选框

<div ng-repeat="checkBox in checkBoxes" style="display:inline;">
    <input type="checkbox" ng-model="checkBox.selected" id={{checkBox.id}}' ng-checked="checkItem(checkBox.id)" ng-change="listActionsHandler(checkBoxes)">{{ checkBox.value }}
</div>
这是我的ng checked函数,用于显示根据数据库保存值选中的复选框

var arr_checked_items = data.data.hobby;
var arraySize = arr_checked_items.length;
$scope.checkItem = function (id) {
    var checked = false;
    for(var i=0; i<= arraySize; i++) {
        if(id == arr_checked_items[i]) {
                checked = true;
        }
    }
    return checked;
};
这些功能在“添加和编辑”页面上正常工作,但问题是,当我不在复选框上应用任何更改并单击“提交”按钮时,它会取空值


我的问题是:如果我没有应用任何更改,它应该采用checkbox的旧值,如果我应用了任何更改,它应该采用checkbox的新值。

请尝试使用以下代码。我不确定它是否起作用

$scope.checkItem = function (id) {
    var checked = "";
    for(var i=0; i<= arraySize; i++) {
        if(id == arr_checked_items[i]) {
                checked = "checked";
        }
    }
    return checked;
};

谢谢,但是这个功能工作正常,我在提交时遇到了问题,没有对复选框进行更改。
$scope.checkItem = function (id) {
    var checked = "";
    for(var i=0; i<= arraySize; i++) {
        if(id == arr_checked_items[i]) {
                checked = "checked";
        }
    }
    return checked;
};