AngularJS: ng-model inside ng-repeat?

时光总嘲笑我的痴心妄想 提交于 2019-11-28 05:54:43
<div ng-app ng-controller="Ctrl">
    <div class="control-group" ng-repeat="field in customFields">
        <label class="control-label">{{field}}</label>
        <div class="controls">
            <input type="text" ng-model="person.customfields[field]" />
        </div>
    </div>
    <button ng-click="collectData()">Collect</button>
</div>

function Ctrl($scope) {
    $scope.customFields = ["Age", "Weight", "Ethnicity"];
    $scope.person = {
        customfields: {
            "Age": 0,
                "Weight": 0,
                "Ethnicity": 0
        }
    };

    $scope.collectData = function () {
        console.log($scope.person.customfields);
    }
}

You can try it here.

Updated:

For the validation, the trick is to put <ng-form> inside the repeater. Please try.

Ajay Beniwal

It should be:

<input type="text" ng-model="person.customfields[field]" />

Any on who ends up here For ng-model inside ng-repeat

http://jsfiddle.net/sirhc/z9cGm/

the above link has good description on how to use it with examples

Try this ng-model="person.customfields."{{field}} Moved the double quotes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!