Javascript 将现有对象绑定到复选框以推送和拼接新值

Javascript 将现有对象绑定到复选框以推送和拼接新值,javascript,angularjs,checkbox,Javascript,Angularjs,Checkbox,此应用程序用于向练习中添加参数,以便为客户/客户量身定制 练习对象如下所示(为了简单起见,删除了许多其他值): 我想为用户提供一些复选框,以便在此练习中快速添加/删除参数 选项阵列当前看起来如下所示: $scope.availibleParams = [{ "param": "Reps", "childParam": "" }, { "param": "Tempo", "childParam": "" }, { "param": "Sets", "

此应用程序用于向练习中添加参数,以便为客户/客户量身定制

练习对象如下所示(为了简单起见,删除了许多其他值):

我想为用户提供一些复选框,以便在此练习中快速添加/删除参数

选项阵列当前看起来如下所示:

$scope.availibleParams = [{
    "param": "Reps",
    "childParam": ""
}, {
    "param": "Tempo",
    "childParam": ""
}, {
    "param": "Sets",
    "childParam": ""
}, {
    "param": "Weight",
    "childParam": ""
}, {
    "param": "Rest",
    "childParam": ""
}];
因此,在这个特定的示例中,当练习加载
param
的复选框时,“Reps”和“set”将被选中,因为它们出现在活动练习中

检查新参数后,应将其推入ActiveExecute数组,反之亦然,如果未选中,则应将其删除

除此之外,我还需要能够添加自定义参数。如果上述列表中存在该选项,则用户可以添加这些选项。一旦他们添加了自定义参数,它就会显示在练习和复选框列表中

我尝试了查找
activeExercise.Params
数组,并尝试了
ng repeat
选项,但是绑定到这个并在选中和取消选中时运行所需的添加/删除功能对我的IQ来说太难了

我已经在代码笔上创建了一个代码,以显示我已成功到达的位置


此外,我不知道这篇文章的标题是什么,请随意更正

我不确定,但也许你需要这个

我有一个带参数的数组,并且有属性isActive

$scope.availibleParams = [{
    "param": "Reps",
    "isActive": true,
    "childParam": ""
}, ...

更复杂的情况:

我们仍然有isActive属性,但我们检查onchange事件以了解实际发生的情况,所以

1) 我们初始化活动练习,并将可用参数设置为活动状态(如果它们出现在$scope.activeExercise中)。看看这个函数:

scope.initActiveExercices()
2) 我们在$scope.updateActiveeXercies()中同步自定义练习和可用练习

首先,我们清除$scope.activeExercise数组

然后我们迭代可用的和自定义的参数数组,并查看isActive属性,如果它为真,我们将推到$scope.activeExercise数组

就是这样


这里是新的copeden

问题是缺少HTML和控制器代码。寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请看:您可以使用问题中提供的笔。控制器和HTML在笔中。。。我的目标是简洁。谢谢,这很有帮助,但我必须运行循环,每次在函数上添加这些
isActive
值,因为它们不在原始数据中,这是不可能在整个数据库中更改的。您可以为所有自定义创建的参数创建添加属性,如isCutom:true对于正在创建的参数很简单,但是现有4000个练习没有ant
isActive
属性,因此,它需要添加在网页的初始化或什么。这真的很接近。。。当我保存练习时,我想我必须去掉所有的
isActive
,但我认为这将是非常容易实现的。非常感谢,我希望在应用程序中进行一些测试,然后将其标记为正确。
scope.initActiveExercices()