Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将对象从阵列推送到阵列_Javascript_Arrays_Knockout.js - Fatal编程技术网

Javascript 将对象从阵列推送到阵列

Javascript 将对象从阵列推送到阵列,javascript,arrays,knockout.js,Javascript,Arrays,Knockout.js,因此,我试图在使用knockout调用复选框时将存储在数组中的对象推送到可观察数组中 HTML: JS: 所以我很确定我的if语句是造成这个问题的原因,但我不确定我做错了什么。但是结果应该是,对于选中的每个复选框,现在将具有“校验”值的值的对象推到选中的项数组中,以便在此示例中,空白选择项数组应该具有对象。 {title: 'some text', checked: ko.observable(false), definition: '<p>Some HTML</p>'}

因此,我试图在使用knockout调用复选框时将存储在数组中的对象推送到可观察数组中

HTML:

JS:

所以我很确定我的if语句是造成这个问题的原因,但我不确定我做错了什么。但是结果应该是,对于选中的每个复选框,现在将具有“校验”值的值的对象推到选中的项数组中,以便在此示例中,空白选择项数组应该具有对象

{title: 'some text', checked: ko.observable(false), definition: '<p>Some HTML</p>'} 
在saveSelection函数运行后,将其放入其中

-编辑-
此代码的小提琴:

在访问选中的可观察对象时删除.value:

if (viewModel.definition[i].checked() === true) {
...
Knockout管理设置HTML控件的值。您需要知道的是,它是一个可观察的对象,具有真值或假值。

首先,单击:$root.saveSelected与saveSelection:function不匹配{

第二期

for (var i = 0; i < definition.length; ++i) {
    if (viewModel.definition[i].checked() === true) {
定义和viewModel.definition在这里是两个独立的东西。 viewModel.definition实际上是第一个保存空数组的函数。
因此,viewModel.definition[i]不起作用…

在选中的可观察对象中没有value属性,因此只需编写如果viewModel.definition[i].checked===truel我尝试了这个,但它仍然没有填充selectedItems数组,我编辑了我的帖子以链接到一堆代码。结果成功了,除此之外,我所要做的就是替换viewModel。用简单的定义[I]更新定义[I],仍然没有将数据添加到selectedItems数组中
if (viewModel.definition[i].checked() === true) {
...
for (var i = 0; i < definition.length; ++i) {
    if (viewModel.definition[i].checked() === true) {