2016-01-29 3 views
0

Я вижу похожие вопросы везде, но я до сих пор не вижу, где я здесь не так. (Все еще несколько новый для углового)Группы повторных и повторных радиостанций

У меня есть серия повторяющихся элементов, и для каждого элемента я хочу создать группу радиостанций, в которой пользователь выбирает элемент для каждой повторяющейся строки. Проблема в том, что каждая группа кнопок не уникальна. Нажатие на любую кнопку выбирает первый экземпляр. Как сделать группы уникальными?

<div ng-repeat="obj in availableText track by obj.id" class="possibleTextBlock"> 
    <div ng-class="obj.textClass" ng-click="handleText(obj.id)">{{obj.text}}</div> 
    <div class="parseOptionLine"> 
     <radiogroup id="$index"> 
      <div class="parseOption"><input type="radio" id="Parsers0+$index" name="parseAdd+$index" ng-model="obj.parser" ng-value="Parsers[0]"><label for="Parsers0+$index"><span></span>{{Parsers[0]}}</label></div> 
      <div class="parseOption"><input type="radio" id="Parsers1+$index" name="parseAdd+$index" ng-model="obj.parser" ng-value="Parsers[1]"><label for="Parsers1+$index"><span></span>{{Parsers[1]}}</label></div> 
      <div class="parseOption"><input type="radio" id="Parsers2+$index" name="parseAdd+$index" ng-model="obj.parser" ng-value="Parsers[2]"><label for="Parsers2+$index"><span></span>{{Parsers[2]}}</label></div> 
      <div class="parseOption"><input type="radio" id="Parsers3+$index" name="parseAdd+$index" ng-model="obj.parser" ng-value="Parsers[3]"><label for="Parsers3+$index"><span></span>{{Parsers[3]}}</label></div> 
      <div class="parseOption"><input type="radio" id="Parsers4+$index" name="parseAdd+$index" ng-model="obj.parser" ng-value="Parsers[4]"><label for="Parsers4+$index"><span></span>{{Parsers[4]}}</label></div> 
     </radiogroup> 
    </div> 
</div> 

Я не включил контроллер, поскольку, по-моему, мне не хватает чего-то простого в названиях кнопок или групп радио.

Благодаря

+0

Если я не misthink что, вы, кажется, имеют то же значение на нем, как нг-модель = «obj.parser», не уверен Тхо (сегодня закончил 2 дня angularjs обучение) – J0N3X

+0

Я был под впечатление, что obj «будет» повторяться с каждым повторением, чтобы каждая радиогруппа была привязана к правильному значению этого объекта –

ответ

0

Вы можете увидеть в инструментах для разработчиков, которые Parsers0 + $ индекс ID, имя и другие атрибуты не замененных с индексом, когда представление визуализируется. Таким образом, все отображаемые переключатели находятся под одним именем группы Parsers0 + $ index, поэтому группы не уникальны. Правильный синтаксис для замены значения индекса в вашем случае равен
Parsers0{{$index}} , и это должно сделать ваши группы уникальными. вот plunker https://plnkr.co/edit/IIPnjXnH5aKptyZ7e47T?p=preview

Смежные вопросы