【发布时间】:2015-08-29 20:56:21
【问题描述】:
您好,我无法将淘汰赛“提交”绑定与“foreach”绑定一起使用。 我无法弄清楚这里有什么错误。 请帮我找出我的错误。
我的视图模型是这样的:
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();
};
而我的 html 绑定到 'viewmodel' 是这样的:
<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”功能未被调用。 我没有收到任何警报消息。 我尝试使用“按钮”元素上的“点击”绑定来调用该函数。该函数以这种方式调用,即我收到警报消息。
更新: 在萤火虫中,我看到 form 标记在之后关闭 并且按钮不在“表单”标签中。
【问题讨论】:
-
<form>元素不能嵌套在<table>中 -
是的,我明白了。谢谢你