Question

Je travaille avec les groupes de Google sur les forums de knock-out de l'aide avec cela aussi -. Mais je me dis que d'un public plus large ne peut jamais nuire à la situation

Je suis en train d'obtenir KO au travail avec une situation en utilisant l'interface utilisateur de jQuery plug-in « Sortable ». J'ai mon code affiché ici.

http://www.pastie.org/1285716

Tenter d'utiliser une liaison personnalisée ...

        ko.bindingHandlers.onReceiveItem = {
            init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
                $(element).bind("sortreceive", function (event, ui) {
                    ko.bindingHandlers.onReceiveItem.update(element, valueAccessor, allBindingsAccessor, viewModel);
                });
            },
            update: function (element, valueAccessor, allBindingsAccessor, viewModel) {
                var value = ko.utils.unwrapObservable(valueAccessor());
                var bindings = allBindingsAccessor();
            }
        };

Le but est que lorsque la liste Sortable reçoit un élément, il peut obtenir l'élément et l'ajouter à l'autre observableArray.

Ce ne fonctionne pas tout à fait pour moi, cependant. Je vais avoir du mal à obtenir l'événement au feu comme je le veux. La façon dont je l'ai mis en place, il fait feu, mais il ne retourne une valeur "true / false. J'espérais que quelqu'un d'autre pourrait avoir une idée de ce que je fais mal et savoir comment y remédier.

(pour utiliser le code, vous devez faire référence

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css" rel="Stylesheet" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.js"></script>

en haut, et ensuite la nouvelle version de Knockout (1.1.1)

http://cloud.github.com/ téléchargements / SteveSanderson / knock-out / knock-out-1.1.1.debug.js

Était-ce utile?

La solution

Je ne savais pas Steve avait déjà répondu à cette avant d'avoir fini. Ici, vous allez bien, de manière légèrement différente que lui.

Sortable en fait beaucoup plus difficile, cela aurait été beaucoup plus facile avec un glisser-déposer de liaison lié à chaque produit. Le problème avec triables est vous liez sur la totalité de la liste au lieu des objets.

http://www.pastie.org/1432093

Autres conseils

que nous avons retravaillé l'échantillon et est venu avec un bindingHandler presque complet, il ne nécessite pas un attribut id et il a également réordonnancement poignées. Voici le code:

http://jsbin.com/knockoutsortable/20/edit

utilisation:

  • Il utilise la template.foreach liant pour savoir ce qui est le tableau associé dans le viewmodel.

  • Vous pouvez utiliser DataBind = "foreach: Produits, sortable: true". Pour activer le tri dans un seul tableau avec aucune option

  • Il travaille avec des objets observableArray.

  • Il est la construction de la triables jQuery par lui-même, vous pouvez passer les mêmes options objet dans la liaison que dans le constructeur jQuery.sortable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top