Как обновить ng-модель динамически в ng-repeat?

У меня возникла проблема с динамическими значениями ng-model на моей странице angular. Вот мой пример JSON.

mytabs = [
    {
        name : "tab1",
        values : [
            {value:"value1"},
            {value:"value2"},
            {value:"value3"},
            {value:"value4"}
        ]
    },
    {
        name : "tab2",
        values : [
            {value:"value1"},
            {value:"value2"},
            {value:"value3"},
            {value:"value4"}
        ]
    }
]

То, что я хочу сделать из этого josn, заключается в создании представления на моей странице, так что оно будет содержать tab1 и tab2 как заголовки страницы и соответствующий value как checkbox. У пользователя будет избирательность, чтобы выбрать его вариант. На отправке я хочу получить параметры, которые он выбрал. Я хочу знать, что в моем контроллере выбрано что-то вроде value1,value3 (frome tab1), value1,value2(from tab2). Как я могу это сделать?
Вот мой примерный подход.

<div ng-repeat="tab in mytabs">
  <h1>{{tab.name}}</h1>
    <div ng-repeat="val in tab.values">
        <input type="checkbox" ng-model="val.value"/>
    </div>
</div>
<input type="button" value="submit" ng-click="checkValues(val)"

Пожалуйста, помогите мне,
Спасибо вам

Ответ 1

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

Не забудьте использовать приведенную ниже идею или код, чтобы получить то, что вы хотите более внимательно

 <div ng-repeat="tab in mytabs">
  <h1>{{tab.name}}</h1>
    <div ng-repeat="val in tab.values">
        <input type="checkbox" ng-model="val.checked"/>
    </div>
</div>
<input type="button" ng-click="checkValues()" value="checkitems" />

    <script>
        var app = angular.module('plunker', []);

        app.controller('MainCtrl', function ($scope,$filter) {
            $scope.mytabs = [
                {
                    name: "tab1",
                    values: [
                        { value: "value1",checked:false },
                        { value: "value2", checked: false },
                        { value: "value3", checked: false },
                        { value: "value4", checked: false }
                    ]
                },
                {
                    name: "tab2",
                    values: [
                       { value: "value1", checked: false },
                       { value: "value2", checked: false },
                       { value: "value3", checked: false },
                       { value: "value4", checked: false }
                   ]
                }
            ];

            $scope.checkValues = function () {
                angular.forEach($scope.mytabs, function (value, index) {
                    var selectedItems = $filter('filter')(value.values, { checked: true });
                    angular.forEach(selectedItems, function (value, index) {
                        alert(value.value);
                    });

                });
            };
        });