knock-out cocher/décocher toutes de zone de liste déroulante
Je l'aide knock-out pour la cartographie JSON obejct de contrôle de l'utilisateur, j'ai une liste de simples cases à cocher,
Ils ressemblent à des
<input type="checkbox" data-bind="checked: IsEnabled1" />
J'Ai JsonObject
var viewModel = {
IsEnabled1 :ko.observable(true),
IsEnabled2 :ko.observable(true),
IsEnabled3 :ko.observable(false)
};
...
ko.applyBindings(viewModel);
Et je tiens à ajouter mondiale case à cocher qui sera cochez/décochez toutes les autres, j'ai fait ce changements sur le JavaScript côté, mais mondial case à cocher mise à jour de l'INTERFACE utilisateur, mais les données à partir de plusieurs cases à cocher ne pas mappage objet JSON .
Case Global
$("#GeneralTable thead tr th:first input:checkbox").click(function () {
var checkedStatus = this.checked;
$("#GeneralTable tbody tr td:first-child input:checkbox").each(function () {
this.checked = checkedStatus;
});
});
après ce code mon objet JSON contenant des données qui ne sont pas liées à l'INTERFACE utilisateur.
Comment mettre à jour tous JSON après changement de cases à cocher JS côté ?
- Le code que vous avez posté n'est pas assez pour nous de répondre à votre question.
- Maintenant, elle devrait être meilleure. Merci.
- Problème dans votre code,que vous interagit avec des nœuds. Mais vous avez besoin d'interagir avec les données. Il est préférable de MVVM monde 🙂 s'il vous Plaît vérifier ma réponse. Je pense qu'il va travailler pour vous.
Vous devez vous connecter pour publier un commentaire.
Veuillez consulter l'exemple: http://jsfiddle.net/MenukaIshan/5gaLjh2c/
Je pense que c'est exactement ce dont vous avez besoin. Tous les éléments ont
IsChecked
propriété observable. ViewModel contient calculées observables (lire et écrire) de cocher ou de décocher tous les éléments.Il y a une autre solution ici http://jsfiddle.net/rniemeyer/kXYuU/
La solution ci-dessus peut être améliorée de deux façons
-Faire AllChecked faux pour vider les listes, nous avons besoin de vérifier la longueur
-Pour réduire le nombre de recalculs lors de la sélection de tous pour une longue liste, nous avons besoin d'ajouter de l'accélérateur