我创建了一个这样的表结构:
<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 绑定(bind),但如果我再次重新加载页面,它就会工作。 这是 jsfiddle link ,但它不起作用。
最佳答案
我清理了你的 fiddle 并使其工作:
http://jsfiddle.net/vyshniakov/gkyGN/3/
编辑
要从服务器映射数据,请使用 ko.utils
中的 arrayMap
函数:
$.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);
}
});
关于javascript - 更改在 knockout 中选中的复选框的 tr 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12933568/