javascript - 更改在 knockout 中选中的复选框的 tr 颜色

标签 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 绑定(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/

相关文章:

javascript - 我可以为 CSS 背景图像设置不透明度动画吗?

javascript - 获取反向地理编码的返回值

javascript - $.proxy 和原生js 'call'/'apply' 有什么区别?

javascript - 绑定(bind)后访问String

javascript - 数据如何绑定(bind)到 Kendo-Knockout ListView 中的元素?

javascript - 为什么在使用 .empty() 后无法将 Html 插入 DOM 元素?

javascript - 更改检测 休息调用 Angular 2

javascript - jQuery 从一组(组)类中选择 div

javascript - 光滑 js 的 knockout 自定义绑定(bind)不起作用

javascript - Knockout JS foreach 数据绑定(bind)和嵌套元素