1

我需要将绑定应用于表单并将实现提交绑定添加到单个表单。
这是我拥有的代码,但未应用以前的绑定。

 <form data-bind= "attr: { 'id': 'form-' + ($index() + 1) }, submit: $root.updateStore">
    ..
 </form>

语法有问题吗?我被这些家伙困住了。任何帮助,将不胜感激。提前致谢。

4

1 回答 1

0

直接回答你的主要问题:你的语法没有出错,很好。


我不确定“未应用以前的绑定”是什么意思,并且您发布的代码不足以重现该问题。在您的问题中包含更多代码可能会有所帮助,帮助我们重现问题。

如果您想查看自己的代码在运行中,请查看this fiddle。在那里,我假设了以下完整视图:

<!-- ko foreach: myForms -->
<form data-bind= "attr: { 'id': 'form-' + ($index() + 1) }, submit: $root.updateStore">
    Form with id 
    '<span data-bind="text: 'form-' + ($index() + 1)"></span>'
    <input type='submit' />
</form>
<!-- /ko -->

使用以下 ViewModel:

function form() { }

function vm() {
    var self = this;
    self.myForms = ko.observableArray([new form(), new form()]);
    self.updateStore = function(formElement) { alert('submitting ' + formElement.id); };
}

您可以看到视图有一个跨度,也显示id在一个跨度中。如果您在开发人员工具栏中检查小提琴中的表单,您可以看到 ID 绑定得很好。

于 2013-06-08T11:24:24.527 回答