你好我无法使用敲门'提交'绑定'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();
};
我绑定到'viewmodel'的html是这样的:
<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中,我看到 form 标签刚刚关闭 和按钮超出'form'标签。
答案 0 :(得分:0)
我发现 form 标记不能在 table 标记内使用。解决方案 table 标记可以放在 form 标记内。 如果我们不想这样做,我们可以将表格标签更改为div,但这可能无法提供所需的输出。