我正在尝试使用jquery.validate with knockout
。我有一个对象列表,在foreach
绑定内,
我有这段代码:
<tbody data-bind="foreach: fee">
<tr>
<td>
<input type="text" data-bind="textInput: fee, attr: {name : 'srv'+$index()}" data-val="true" data-val-number="error msg" data-val-regex="err msg" data-val-regex-pattern="\d+(\.\d{1,2})?" data-val-required="required"/>
<span class="field-validation-valid" data-valmsg-replace="true" data-bind="attr : { 'data-valmsg-for': 'srv'+$index()}" />
</td>
</tr>
</tbody>
正确计算输入名称,eg. srv0, srv1
等等
而验证范围的名称仍为srv+$index()
。
如何解决?
答案 0 :(得分:1)
在这里工作正常。
vm = {
fee: ko.observableArray([{ fee: 1 }, { fee: 2 }])
};
ko.applyBindings(vm);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<table>
<tbody data-bind="foreach: fee">
<tr>
<td>
<input type="text" data-bind="textInput: fee, attr: {name : 'srv'+$index()}" data-val="true" data-val-number="error msg" data-val-regex="err msg" data-val-regex-pattern="\d+(\.\d{1,2})?" data-val-required="required"/>
<span class="field-validation-valid" data-valmsg-replace="true" data-bind="attr : { 'data-valmsg-for': 'srv'+$index()}" />
</td>
</tr>
</tbody>
</table>