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
Vous devez vous connecter pour publier un commentaire.
bannières est un tableau dans ce cas, vous aurez besoin d'accéder à chaque élément d'un tableau et de mise à jour de l'individu isSelected propriétés.
Quelque chose comme:
Il y a une réponse fonctionnelle sur le lien ci-dessous. Il permet de désélectionner la case "select all" quand sur les autres cases à cocher sont désactivées:
knock-out cocher/décocher toutes de zone de liste déroulante