繁体   English   中英

KnockoutJS提交绑定不适用于foreach

[英]KnockoutJS submit binding not working with foreach

您好,我无法使用带有'foreach'绑定的敲除'submit'绑定。 我无法弄清楚这是什么错误。 请帮助我找到我的错误。

我的视图模型是这样的:

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”功能。 我没有收到任何警报消息。 我尝试在“按钮”元素上使用“单击”绑定来调用该函数。 该函数以这种方式调用,即我收到警报消息。

更新:在萤火虫中,我看到窗体标记紧随其后,并且按钮不在“窗体”标记中。

我发现表格标签内不能使用表格标签。 解决方法是将表格标签放在表格标签中。 如果我们不想这样做,可以将table标记更改为div,但这可能无法提供所需的输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM