Javascript 如何使用Angular Js将复选框值与存储在DB中的现有逗号seaprated值一起选中

Javascript 如何使用Angular Js将复选框值与存储在DB中的现有逗号seaprated值一起选中,javascript,angularjs,Javascript,Angularjs,我将复选框选项显示为json数组的ng repeat,并将其作为逗号分隔的ID(如“1,3,7”)存储到数据库中作为单个字符串,但当我需要编辑便利设施复选框时,我无法将现有选项显示为选中状态,因为我从db获取的现有值为1,3,7,作为单个字符串。我将如何在ng重复中使用选项检查此字符串 var-app=angular.module('myApp',[]); 应用程序控制器('myCtrl',函数($scope){ $scope.professionals=[{id:1,值:“Wifi”},

我将复选框选项显示为json数组的ng repeat,并将其作为逗号分隔的ID(如“1,3,7”)存储到数据库中作为单个字符串,但当我需要编辑便利设施复选框时,我无法将现有选项显示为选中状态,因为我从db获取的现有值为1,3,7,作为单个字符串。我将如何在ng重复中使用选项检查此字符串


var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.professionals=[{id:1,值:“Wifi”},
{id:2,值:“AC”},
{id:3,值:“信用卡”},
{id:4,值:“24x7”},
{id:5,值:“Parking”},
{id:6,值:“免费送货”},
{id:7,值:“禁止吸烟”}
];
//例如,假设这是来自数据库的现有便利设施
$scope.existamenities=“1,3,7”;
});
{{amn.value}

我认为要检查它们,您需要将
ng型号设置为true或false。只需创建另一个数组并相应地填充它

您可以选择使用新属性附加现有数组,这些属性将保存真/假值,或者创建从原始数组映射的新数组。然后,只要将默认值
false
切换为
true
,如果列出了它们的ID,就可以通过拆分字符串获得ID

下面是一个小演示:

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.com=[
{id:1,值:“Wifi”},
{id:2,值:“AC”},
{id:3,值:“信用卡”},
{id:4,值:“24x7”},
{id:5,值:“Parking”},
{id:6,值:“免费送货”},
{id:7,值:“禁止吸烟”}
];
//例如,假设这是来自数据库的现有便利设施
$scope.existamenities=“1,3,7”;
var a=$scope.existamenicies.split(“,”).map(x=>Number(x))
变量b=$scope.professionals.map((x)=>{
返回{
“id”:x.id,
“val”:false
}
})
对于(变量i=0;i

{{amn.value}

我认为要检查它们,您需要将
ng型号设置为true或false。只需创建另一个数组并相应地填充它

您可以选择使用新属性附加现有数组,这些属性将保存真/假值,或者创建从原始数组映射的新数组。然后,只要将默认值
false
切换为
true
,如果列出了它们的ID,就可以通过拆分字符串获得ID

下面是一个小演示:

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.com=[
{id:1,值:“Wifi”},
{id:2,值:“AC”},
{id:3,值:“信用卡”},
{id:4,值:“24x7”},
{id:5,值:“Parking”},
{id:6,值:“免费送货”},
{id:7,值:“禁止吸烟”}
];
//例如,假设这是来自数据库的现有便利设施
$scope.existamenities=“1,3,7”;
var a=$scope.existamenicies.split(“,”).map(x=>Number(x))
变量b=$scope.professionals.map((x)=>{
返回{
“id”:x.id,
“val”:false
}
})
对于(变量i=0;i

{{amn.value}

您需要在每个复选框上使用
ng model
,以便能够控制它们是否被选中。。。并且能够在以后的某个时间点(例如表单提交)判断哪些是要检查的

为此:

  • 便利设施对象应选中
    属性
  • ng repeat
    中的复选框应将
    ng model
    绑定到
    checked
    属性

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.professionals=[{id:1,值:“Wifi”,选中:false},
{id:2,值:“AC”,选中:false},
{id:3,值:“信用卡”,选中:false},
{id:4,值:“24x7”,选中:false},
{id:5,值:“停车”,选中:false},
{id:6,值:“免费交付”,选中:false},
{id:7,值:“禁止吸烟”,选中:false}
];
//例如,假设这是来自数据库的现有便利设施
$scope.existamenities=“1,3,7”;
var arrayOfexistingMenities=$scope.existamenities.split(“,”);
ArrayOfExistingEncities.forEach(函数(现有便利性)){
$scope.便利设施.forEach(功能(便利设施){
if(舒适度.id==parseInt(现有舒适度)){
舒适性检查=正确;
}
});
});
});
{{amn.value}

您需要在每个复选框上使用
ng model
,以便能够控制它们是否被选中。。。并且能够在以后的某个时间点(例如表单提交)判断哪些是要检查的

为此:

  • 便利设施对象应选中
    属性
  • ng repeat
    中的复选框应将
    ng model
    绑定到
    checked
    属性

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.professionals=[{id:1,值:“Wifi”,选中:false},
{id:2,值:“AC”,选中:false},
{id:3,值:“信用卡”,选中:false},
{id:4,值:“24x7”,选中:false},
{id:5,值:“停车”,选中:false},
{id:6,值:“免费交付”,选中:false},