Javascript KnockoutJS提交绑定不适用于foreach
您好,我无法使用敲除“提交”绑定和“foreach”绑定。 我想不出这里出了什么错。 请帮我找出我的错误 我的视图模型如下所示:Javascript KnockoutJS提交绑定不适用于foreach,javascript,knockout.js,Javascript,Knockout.js,您好,我无法使用敲除“提交”绑定和“foreach”绑定。 我想不出这里出了什么错。 请帮我找出我的错误 我的视图模型如下所示: function poReceivingModel(){ var self = this; var initial_row = new poReceivingRowModel(); self.rows = ko.observableArray([initial_row]); self.saveAndAdd = function(form
function poReceivingModel(){
var self = this;
var initial_row = new poReceivingRowModel();
self.rows = ko.observableArray([initial_row]);
self.saveAndAdd = function(formElement){
alert('entered into function');
var row = new poReceivingRowModel();
self.rows.push(row);
};
};
function poReceivingRowModel(){
var self = this;
self.building = ko.observable();
self.isele_abc = ko.observable();
self.isele_num = ko.observable();
self.isele_floor = ko.observable();
};
<tbody data-bind="foreach: rows">
<form data-bind="submit: $parent.saveAndAdd">
<tr>
<td>
<!-- input field here -->
</td>
<td>
<!-- input field here -->
</td>
<td>
<!-- input field here -->
</td>
<td>
<!-- input field here -->
</td>
<td>
<button type="submit">Save and Add</button>
</td>
</tr>
</form>
</tbody>
我绑定到“viewmodel”的html如下所示:
function poReceivingModel(){
var self = this;
var initial_row = new poReceivingRowModel();
self.rows = ko.observableArray([initial_row]);
self.saveAndAdd = function(formElement){
alert('entered into function');
var row = new poReceivingRowModel();
self.rows.push(row);
};
};
function poReceivingRowModel(){
var self = this;
self.building = ko.observable();
self.isele_abc = ko.observable();
self.isele_num = ko.observable();
self.isele_floor = ko.observable();
};
<tbody data-bind="foreach: rows">
<form data-bind="submit: $parent.saveAndAdd">
<tr>
<td>
<!-- input field here -->
</td>
<td>
<!-- input field here -->
</td>
<td>
<!-- input field here -->
</td>
<td>
<!-- input field here -->
</td>
<td>
<button type="submit">Save and Add</button>
</td>
</tr>
</form>
</tbody>
保存并添加
问题是,当我单击“添加并保存”按钮时,没有调用“poReceivingModel”中的“saveAndAdd”函数。
我没有收到任何警告信息。
我尝试在“button”元素上使用“click”绑定调用该函数。函数以这种方式调用(即我收到警报消息)
更新:
在firebug中,我看到表单标记在
按钮不符合“表单”标签 我发现表单标记不能在表标记内使用。解决方案是表格标签可以放在表格标签里面。
如果我们不想这样做,我们可以将表标记更改为div,但这可能无法提供所需的输出。我发现表单标记不能在表标记内使用。解决方案是表格标签可以放在表格标签里面。
如果我们不想这样做,我们可以将table标记更改为div,但这可能无法提供所需的输出。
元素不能嵌套在
中是的,我知道了。谢谢
元素不能嵌套在
中是的,我明白了。谢谢
元素不能嵌套在
中是的,我明白了。谢谢