0
我正在使用knockoutjs v1.2.0和Jquery模板。我會使用data-bind:foreach等,但我發現它只出現在knockoutjs的v2.0.0中。所以我必須使用jQuery模板。使用Jquery模板填充來自observableArray的錶行
我的aspx文件中有這樣的代碼:
....
....
....
<tbody data-bind="template: {name: 'tasksTemplate', foreach: form.model.tasks}">
</tbody>
</table>
</td>
</tr>
</table>
</div>
</div>
<script id="tasksTemplate" type="text/html">
<tr>
<td>
<input id="Selected" type="checkbox" data-bind="checked: ${isSelected}" />
</td>
<td>
<select id="CableCode" data-bind="options: CableCodes, value: ${CableCodeId}, optionsText: 'Code', optionsValue: 'Id'" style="width: 95%"></select>
</td>
<td>
<input type="text" />
</td>
<td>
<input type="text"/>
</td>
<td>
<select style="width: 95%"></select>
</td>
<td>
<input type="text" class="datePicker" />
</td>
<td>
<input type="text" class="datePicker" disabled="disabled" />
</td>
<td>
<input type="text" disabled="disabled" />
</td>
</tr>
</script>
</asp:Content>
,並在那裏我把我的表單對象的js文件(包括所有的功能和觀測等)都有這樣的代碼:
....
....
self.tasks = ko.observableArray([]);
self.addTask = function() {
self.tasks.push({'isSelected': '', 'CableCodeId': '' });
};
....
....
但即使當我加載頁面,當我嘗試使用addTask函數添加一行到我的表時,我得到沒有js錯誤我得到一個錯誤:預期的標識符,字符串或數字。
我試過從isSelected和CableCodeId中摘掉單引號,但什麼也沒有。
我也試圖得到第二個數據綁定關閉(關於CableCode的),所以我只能檢查第一個(isSelected),但我仍然得到相同的錯誤。
我也使用IE 8