gpt4 book ai didi

javascript - 使用 angularjs 将复选框设置为选中时导致错误

转载 作者:行者123 更新时间:2023-11-28 18:58:46 25 4
gpt4 key购买 nike

这是 html:

<span ng-repeat="category in categories">
<label class="checkbox-inline" for="{{category.id}}">
<input type="checkbox" ng-checked="check(category.id)" ng-click="saveRoleMenu($event,category.id)" name="group" id="{{category.id}}" />
{{category.name}}
</label>
</span>

这是我的 Controller :

//get all the menus
authorityService.getMenus().then(function(response) {
$scope.categories = response.data.data; //get all the menus success
})

//get the user's menus
var roleId = sessionStorage.getItem("roleId");
authorityService.getMenusByRoleId(roleId).then(function(response) {
$scope.userMenu = response.data.data; //get the user's menu success
})
$scope.saveRoleMenu = function($event, id) {
var checkbox = $event.target;
if (checkbox.checked) {
var roleId = $location.search().id;
authorityService.saveRoleMenu(roleId, id).then(function(response) {
if (response.data.code == 0) {
alert("success!");
}
})
}
}

$scope.check = function(value) {
//error caused here
for (var i = 0; i < $scope.userMenu.length; i++) {
if(value == $scope.userMenu[i].id){
return true;
}else{
return false;
}
}
}

我想将$scope.userMenu中的值设置为选中复选框,但在检查函数中,导致错误“无法读取未定义的属性'长度'”,这是什么原因错误?

最佳答案

Cannot read property 'length' of undefined

表示$scope.userMenu未定义。 先定义 $scope.userMenu,然后再为其赋值。

$scope.userMenu = [];
var roleId = sessionStorage.getItem("roleId");

关于javascript - 使用 angularjs 将复选框设置为选中时导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33051542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com