我正在尝试用ng-repeat生成表单输入。
注意:“customFields”是一个字段名称数组:[“Age”,“Weight”,“Ethnicity”]。
注意:“customFields”是一个字段名称数组:[“Age”,“Weight”,“Ethnicity”]。
<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>
什么是最佳/正确的方式来设置’模型’?我想把它作为person.customfields.’fieldname’发送到服务器,其中fieldname来自customFields中的’field’。
<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); } }
你可以试试here。
更新:
为了验证,诀窍是把< ng-form>在中继器内。请try。