Я пытаюсь отобразить выбранные значения из множественного выбора как отдельные объекты в моем представлении, то есть выбранные значения появятся где-то еще в форме; фактический множественный выбор будет скрыт, необходимо только опубликовать выбранные значения, чтобы их можно было привязать к серверной стороне модели просмотра (ASP.NET MVC).

Кажется, это работает. Тем не менее, AngularJS будет использовать префикс ID с помощью 'string:', поэтому я должен использовать track как. Если я это сделаю, множественный выбор начнет действовать странно, то есть, если я выберу параметр, этот параметр немедленно отменяется снова, если я не щелкну этот параметр дважды. Понятия не имею, что там происходит.

Вот код Plunker, кто-нибудь знает, что мне не хватает?

Ответы (2)

Похоже, это проблема директивы ng-options (https://github.com/angular/angular.js/issues/6564).

Я также нашел некоторую информацию в документации angularjs:

«Будьте осторожны при использовании select as и track by в одном и том же выражении.»

https://docs.angularjs.org/api/ng/directive/ngOptions

Я раздвоил ваш плункер и вместо этого использовал тег с ng-repeat:

https://plnkr.co/edit/uH4hGgUGjvAxcBt3bViT?p=preview

Проблема заключается в шаблоне генератора value.id как value.name, который уже некоторое время не работает, несмотря на то, что утверждается в документации.

Я разветвил ваш plunkr и изменил тег select на это: -