J'utilise ce plugin jQuery pour une boîte de liste multi-sélection http://www.quasipartikel.at/multiselect/ , et tout est lié à un modèle de vision utilisant knockoutjs.
Le plugin définit l'attribut sélectionné de l'option lorsqu'un élément est sélectionné ou désélectionné. Mais knock-out est évidemment pas la vérification de la modification de cet attribut et donc mon modèle de vue n'est pas mis à jour.
Maintenant, avant de changer la connexion et d'écrire une liaison personnalisée, est-il possible de dire à knockoutjs de surveiller l'attribut sélectionné?
Vous pouvez probablement simplement définir knock-out pour gérer les événements de clic à la place, ce serait le plus simple. Par exemple
Pour sélectionner, ajouter sur le côté droit <li>
ou ce que vous pensez être le meilleur
data-bind="click: function(){ select(country); }"
Pour désélectionner, ajouter sur le côté gauche <li>
ou ce que vous pensez être le meilleur
data-bind="click: function(){ deselect(country); }"
Et puis vous avez également besoin de manipulateurs pour ajouter / supprimer / déplacer entre observableArrays
viewModel = { select: function(){ /* add to observableArray */ }, deselect: function(){ /* remove from observableArray */ } };