我需要将绑定应用于表单并将实现提交绑定添加到单个表单。
这是我拥有的代码,但未应用以前的绑定。
<form data-bind= "attr: { 'id': 'form-' + ($index() + 1) }, submit: $root.updateStore">
..
</form>
语法有问题吗?我被这些家伙困住了。任何帮助,将不胜感激。提前致谢。
我需要将绑定应用于表单并将实现提交绑定添加到单个表单。
这是我拥有的代码,但未应用以前的绑定。
<form data-bind= "attr: { 'id': 'form-' + ($index() + 1) }, submit: $root.updateStore">
..
</form>
语法有问题吗?我被这些家伙困住了。任何帮助,将不胜感激。提前致谢。
直接回答你的主要问题:你的语法没有出错,很好。
我不确定“未应用以前的绑定”是什么意思,并且您发布的代码不足以重现该问题。在您的问题中包含更多代码可能会有所帮助,帮助我们重现问题。
如果您想查看自己的代码在运行中,请查看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 绑定得很好。