Переключатели перестают отображать свое значение, когда переключатель выбран в другом объекте в массиве - PullRequest
0 голосов
/ 11 декабря 2018

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

Вот концентрированный бит из шаблона:

<uib-tabset active="activeTabIndex" ng-show="!nothingToShow && showThisStuff">
    <uib-tab ng-repeat="entry in things.items" active="{{entry.active}}" ng-model="entry">
        <uib-tab-heading>Heading Here</uib-tab-heading>
        <div>
            <!-- some other stuff here -->
            <div>
                <label>Label Here</label>
                <br />
                <div ng-repeat="input in inputTypes">
                    <input name="inputTypes" type="radio" data-ng-value="input.theTypeId" ng-model="entry.theTypeId">
                    <label>{{input.localizedName | translate}}</label>
                </div>
            </div>
            <!-- More stuff here-->
        </div>
    </uib-tab>
</uib-tabset>

У меня такое ощущение, что я что-то не так делаю, так как ng-repeatучаствует, но я чувствую, что, поскольку выбор указывает на запись, несколько записей должны быть изолированы друг от друга.Впрочем, вполне может быть ошибочным.

Вот список вещей, на которые я посмотрел, чтобы попытаться решить эту проблему:

1 Ответ

0 голосов
/ 11 декабря 2018

Если я вас правильно понимаю, вы пытаетесь установить множественный выбор вместо одного, не так ли?

Попробуйте одно из следующих действий: либо удалите атрибут 'name' из ввода, либо используйте $ indexчтобы дать каждому входу свое уникальное имя (пример: name = "inputTypes _ {{$ index}}").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...