Javascript 敲除js多个绑定

Javascript 敲除js多个绑定,javascript,knockout.js,Javascript,Knockout.js,我有多个网格,我想在一个单一的提交按钮下运行。 代码如下: 我收到错误,无法读取未定义的属性“push” self.orders = ko.observableArray(orders); self.addorder = function() { self.orders.push({ name: "", price: "" }); }; self.removeorder = function(order) { self.orde

我有多个网格,我想在一个单一的提交按钮下运行。 代码如下:

我收到错误,无法读取未定义的属性“push”

    self.orders = ko.observableArray(orders);

self.addorder = function() {
    self.orders.push({
        name: "",
        price: ""
    });
};

self.removeorder = function(order) {
    self.orders.remove(order);
};


self.hardware = ko.observableArray(hardware);

self.addhardware = function() {
    self.hardware.push({
        name: "",
        price: ""
    });
};

self.removehardware = function(hardware) {
    self.hardware.remove(hardware);
};


self.save = function(form) {
    alert("Could now transmit to server: " + ko.utils.stringifyJson(self.orders));
    // To actually transmit to server as a regular form post, write this: ko.utils.postJson($("form")[0], self.orders);
};
两件事

你的小提琴不包括击倒。 你想寄一张表格。在表单中添加提交绑定

数据绑定=提交:保存

我已经更新了你的小提琴。但是,我没有看到数组推送的错误

希望有帮助


-Suj

@downvoters请不要在没有详细说明您的宝贵意见的情况下进行否决投票。这是因为我并不想做的事情。我应该更新它,这里有一个更好的例子:我试图在一个函数中放置多个observableArray,如果这是正确的方法,基本上我需要多个foreach,其中的add按钮包含在一个表单中,submit按钮包含在一个表单中。你的小提琴中有很多错误。。愿这把小提琴能帮助你做你想做的事,不是吗。谢谢你的代码:我需要多个网格在一个单一的提交按钮下与KO。忘记加载击倒在小提琴抱歉,我做了一些之前,把它放在这篇文章。但是,我知道问题出在我在stackoverflow上发布的js中的某个地方,我的js很弱,我不确定我是否正确编写了语法,我只需要有人确认它是根据敲除和javascript编写的。你什么时候收到错误?我在这里假设您正在调用一个函数。从您发布的代码来看,似乎只有两个push调用,它们都在函数addOrders和addHardware中。您出现错误的原因是未定义数组,该数组假定您在此处发布的代码就是您遇到错误的代码。我想这是真的,您是否可以使用已定义的数组编辑我的代码,或者我将如何定义它?我不完全确定您的要求是什么。下面是viewmodel和其他东西的外观以及数组的声明方式。差不多就是这样了,所以应该有删除按钮和一个全局保存按钮,而不是每行的保存按钮,该按钮将来自服务和硬件的字段包含到json数据中。
<form class="form-horizontal margin-zero" method="POST" action="http://toolkit.dev/" accept-charset="utf-8" novalidate="novalidate" data-bind="submit: save">