我创建了一个这样的表结构:
<table><tr data-bind="css: {success: status}">
<td>
<input type="checkbox" onclick="this.disabled = 'disabled';" data-bind="checked: status, disable: status, click: $root.UpdateStatus" />
</td>
<td>
<span style="width: 80%" data-bind="text: goals" />
</td>
<td>
<input type="text" style="width: 80%" data-bind="value: notes , event: { blur: $root.UpdateNote}" />
</td>
</tr></table>
在此表中,每行都有一个复选框。我的问题是我想在选中复选框时更改行颜色。我已经在tr中完成了css绑定,但是如果我再次重新加载页面它的工作原理。 这是jsfiddle link,但它不起作用。
答案 0 :(得分:4)
我清理了你的小提琴并让它起作用:
http://jsfiddle.net/vyshniakov/gkyGN/3/
修改
要从服务器映射数据,请使用arrayMap
中的ko.utils
函数:
$.ajax({
url: 'ajax/test.html',
success: function(data) { // in data should come tblGoals.
var mappedData = ko.utils.arrayMap(data, function(item) {
// Change property names if necessary
return new Goal(data.GoalId, data.Goals, data.Notes, data.Status);
});
var viewModel = new ViewModel(mappedData);
ko.applyBindings(viewModel);
}
});