Не так, вам нужно привязать источник и создать шаблон, который имеет доступ к этому источнику, что-то вроде этого:
<div id="users">
<div data-bind="source: users" data-template="users-template"></div>
<script type="text/x-kendo-template" id="users-template">
<div>
<span>#: username #</span> ||<span data-bind="text: username"></span><br>
<span>#: age #</span> ||<span data-bind="text: age"></span>
</div>
</script>
<button class="k-button" data-bind="click: updateName">Update first name</button>
<button class="k-button" data-bind="click: updateAge">Update first name</button>
</div>
<script>
$(document).ready(function () {
var obs = function () {
return kendo.observable({
users: [{id: 1, username: 'Jon', age: 32}, {id: 2, username: 'Jake', age: 22}],
updateName: function () {
this.users[0].set('username', 'updated name');
},
updateAge: function () {
this.users[1].set('age', '100');
}
});
};
let viewModel = obs();
kendo.bind($('#users'), viewModel);
});
</script>
Рабочий пример: Привязка шаблона Kendo
PS. Проверьте разницу между #:#
и data-bind="text:"
, нажав кнопку обновления