AngularJs обрабатывает несколько флажков

0

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

Я не совсем уверен, как самостоятельно обрабатывать несколько флажков для каждой отдельной формы. Я поместил свой образец кода на плункер для просмотра всем.

app = angular.module('app', [])

.controller('QuestionnaireController', function($scope){

  $scope.questionnaires = [
        {id : 1, name : "Questionnaire One"},
        {id : 2, name : "Questionnaire Three"},
        {id : 2, name : "Questionnaire Four"},
    ];

    $scope.relationships = [
        {id : 1, name : "Joe Bloggs", role : "Parent"},
        {id : 2, name : "John Doe", role : "Teacher"},
        {id : 3, name : "Jane Doe", role : "Friend"}
    ];


    $scope.submitConsent = function(){
      //process form...
    }

});

http://plnkr.co/edit/b5rr8CC9xhcaLC6MNNig?p=info

Любая помощь приветствуется :)

Теги:
forms

1 ответ

0
Лучший ответ

Если вы хотите отправить свою форму на сервер. Вы должны указать имя поля ввода типа. Например, используйте "идентификаторы". И вы добавляете атрибут value к флажку с идентификатором отношения.

            <form class="form-group" ng-submit="submitConsent()">
                <label for="" ng-repeat="relation in relationships">
                    <input type="checkbox" name="ids" value="{{relation.id}}"/>
                    {{relation.name}} ({{ relation.role }})<br/>
                </label>

                <input type="submit" name="Submit Questionnaire" />
            </form>

На стороне сервера вы получите массив идентификаторов и обработайте этот массив в зависимости от того, какой серверный технологии вы выберете.

Если вы хотите получить идентификаторы в угловом приложении. Сделайте следующее.

<form class="form-group" ng-submit="submitConsent()">
            <label for="" ng-repeat="relation in relationships">
                <input type="checkbox" value="{{relation.id}}" ng-click="relationSelected(relation.id)"/>
                {{relation.name}} ({{ relation.role }})<br/>
            </label>
            <div>{{ids}}</div>
            <input type="submit" name="Submit Questionnaire" />
        </form>

В javascript,

$scope.ids = [];
$scope.relationSelected = function(id) {
    $scope.ids.push(id);
}
  • 0
    Как получить список идентификаторов в угловых для определенной формы?
  • 0
    @AliAshik Я обновил свой ответ.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню