Knockout没有计算可观察的内部attr绑定

时间:2015-10-13 15:25:17

标签: javascript jquery knockout.js

我正在尝试使用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()

如何解决?

1 个答案:

答案 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>