2017-10-16 5 views
1

J'essaie d'utiliser Select2 avec mon application angulaire, mais j'ai des problèmes de liaison. Il y a un modèle avec un tableau d'ID, auquel je lie. Lorsque vous utilisez la valeur par défaut (sans Select2) cela fonctionne bien, mais dès que j'utilise select2, je perds la liaison.Select2 pas obligatoire

J'ai ajouté la pré-section pour afficher les ID de culture. Comme vous pouvez le voir, il ne se met pas à jour. Lorsque vous n'appelez pas la fonction .select2(), il se lie correctement.

J'ai essayé de faire une ng-repeat dans un tag d'option, mais avec le même résultat.

Ci-dessous le code HTML qui provoque le problème:

<select class="Select2" 
     ng-model="region.cultureIds" 
     multiple="multiple" 
     ng-options="culture.id as culture.displayName for culture in cultures"> 
</select> 
<pre>{{region.cultureIds | json}}</pre> 

J'ai inclus un jsFiddle pour démontrer mon problème. http://jsfiddle.net/gymagmor/

+0

Est-ce que vous postez seulement le minimum de code nécessaire pour montrer votre problème? –

+0

Fait .. Bien que ce soit déjà la quantité minimale de code nécessaire, je pense .. J'ai supprimé les balises environnantes. – Ronald

+0

Est-ce que ce violon montre aussi le manque de liaison? http://jsfiddle.net/gymagmor/ –

Répondre

0

Comme suggéré par buh-buh, j'ai pu résoudre ce problème en liant à l'événement "select2: selection", traiter les données, puis déclencher un condensé.

0

Désolé je ne vais pas répondre à cette question, mais je déconseille d'utiliser jquery select2 et d'aller avec la version angulaire native.

Raison d'être que vous écrivez l'application AngularJS et vous devriez essayer de faire les choses de façon angulaire, pas de manière JQuery - donc moins de manipulation DOM.

Vérifiez ce, mieux ui-select pour AngularJS, je l'ai utilisé sur plusieurs projets et il est grand:

https://github.com/angular-ui/ui-select

De cette façon, vous garder tout sur le contrôleur et/ou de la portée et sans toute manipulation DOM vous permettra d'utiliser les valeurs de select - il supporte également le multiselect.

Et pendant que nous sommes à recommander des choses, vérifier celui-ci, il est guide de style Todd Motto de AngularJS, de fait les lignes directrices de AngularJS en ligne (et plus il vous préparera un peu pour angulaire):

https://github.com/toddmotto/angularjs-styleguide

+1

Peut-être mettre à jour votre lien à https://github.com/angular-ui/ui-select puisque l'autre est obsolète. –

+0

Merci. Je vais jeter un coup d'oeil dans celui-ci. Si cela correspond à mes besoins, je vais passer à celui-ci. – Ronald