Хорошо, я решил опубликовать, так как я уже достаточно запутался в этом, и у меня есть крайний срок.
О, и, кстати, я прочитал эти страницы (среди многих других): http://docs.angularjs.org/api/ng.directive:select Как установить свойство value в ng-options AngularJS?
И я сделал пару версий jsfiddle, делающих одну половину или другую из этого, но ничего из того, что можно было бы завершить.
Итак, в диалоговом окне у меня есть форма, которая будет иметь несколько меню выбора (не беспокойтесь о диалоге, это целая куча других вещей, которые делают это еще труднее для понимания и только усложняют это).
У меня есть модель со значением данных, которое выглядит так:
$scope.events = [{
"name":"Escape The Cape",
"tag":"EscapeCape",
"playlists":[{
"name":"Run Course Preview",
"tag":"RunCoursePreview"
}]
}, {
"name":"Wildwood Triathlon",
"tag":"WildwoodTriathlon",
"playlists":[{
"name":"Bike Course Preview",
"tag":"BikeCoursePreview"
}, {
"name":"Race Announcements",
"tag":"RaceAnnouncements"
}]
}];
Что мне нужно сделать, так это показать начальное меню выбора в angular, которое позволяет вам выбрать имя события [Escape The Cape, Wildwood Triathlon], а значения в этом меню выбора являются свойствами тега, которые соответствуют именам.
После того, как вы выберете опцию из этого меню, появится второе меню на основе уже существующего значения события, например: ng-show = "event".
Второе меню - это меню множественного выбора select2.js, которое позволяет вам выбрать один или несколько плейлистов для выбранного события. Никаких других плейлистов. Также не группировать по, нет необходимости делать группировку по в ng-options. Я бы хотел, чтобы это было так просто.
Итак, мне нужно добавить еще одно событие, повторить и т. Д.
Например, события будут привязаны к массиву $ scope.selectedEvents = [].
Вот HTML, который я придумал так далеко, но я так застрял, что меня это просто раздражает.
<div class="control-group">
<label class="control-label">Events</label>
<div id="event-template">
<div class="controls events">
<select class="events-menu input-xlarge" ng-model="file.events" ng-options="obj.tag as obj.name for obj in events"></select>
</div>
<div class="controls playlists">
<select name="playlist" class="playlist-menu input-xlarge select2" multiple="multiple" ng-options="event as "></select>
</div>
</div>
<a href class="add-event" ng-click="addEvent()">
<span>Add Event</span>
</a>
</div>
Некоторые jsfiddles, которые я нашел и использовал, чтобы поиграть, пытаясь сделать это, но никуда не денусь. http://jsfiddle.net/jaredwilli/AUPYP/ http://jsfiddle.net/jaredwilli/bjs3g/ http://jsfiddle.net/jaredwilli/7jZXZ/1/
Любое понимание того, как выполнить запрос ng-options в атрибуте меню выбора для боли в поле со списком в моей заднице, было бы очень полезно.
Спасибо Джаред