1

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

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

4

1 回答 1

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);
        }
    });
于 2012-10-17T12:09:20.780 回答