Knockout.js "sélectionnez tout" cases à cocher

J'ai juste commencé à jouer avec les Knockout.js et il semble vraiment cool. Ce que j'ai est une grille. Cette grille a une colonne avec une case à cocher en haut à "sélectionner tout" des éléments, ainsi que désélectionner. Grille Standard de comportement.

Voici mon code pour l'instant:

Javascript:

//Define a "banner" class
function banner(inventory, name, artType, artSize) {
    return {
        isSelected : ko.observable(false),
        inventory : ko.observable(inventory),
        name : ko.observable(name),
        artType : ko.observable(artType),
        artSize : ko.observable(artSize)

    };
}

var viewModel = {
    banners : ko.observableArray([new banner("network", "Banner #1"), new banner("oo", "Banner #2")]),
    addBanner : function() {
        this.banners.push(new banner("network", "Banner"));
    },
    selectAll : function() {
        this.banners.isSelected(true)
    }       

};

ko.applyBindings(viewModel);

Je suis de liaison de la "selectAll" événement à la case comme ceci:

<th><input data-bind="click: selectAll" type="checkbox" /></th>

Et pour chaque bannière que j'ai dans ma liste, case à cocher ressemble à ceci:

<td><input data-bind="checked: isSelected" type="checkbox" /></td>

Pour une raison quelconque, mon selectAll fonction ne fonctionne pas correctement. Je suis assez nouveau dans ce OO javascript paradigme de programmation, afin que je puisse faire quelque chose de manifestement mal ici.

Merci!

source d'informationauteur dmackerman