在挖空中选中的复选框上更改tr颜色

时间:2012-10-17 11:45:52

标签: javascript knockout.js

我创建了一个这样的表结构:

<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,但它不起作用。

1 个答案:

答案 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);
        }
    });