我有一个表单,允许用户上传一个用选择/文本框输入填充此空白表单的json。因为这些输入是动态生成的(因为它基于它们上传的json),所以我需要能够引用它们输入的答案(ng-model)。
所以说json看起来像:
var jsonObj=[
{"type": "select", "label": "Name", "values": ["a", "b", "c"], "default": "a"},
{"type": "select", "label": "Age", "values": [1, 2, 3]}
]
我通过以下方式在for循环中动态插入这些输入:
var newInputCol='<' + jsonObj[i].type + ' ng-model="' + jsonObj[j].label + '" class="form-control" ></' + jsonObj[j].type + '>';
var newInputRowElement = angular.element(newInputRow);
element.append(newInputRowElement);
$compile(newInputRowElement)($scope);
另外,我没有在html中使用ng-repeat,因为我正在尝试将其布局,因此json中每3个输入有一个新行。但为了做到这一点,我需要使用ng-repeat吗?我见过的所有答案都使用ng-repeat和一个空对象来引用(例如:How to generates dynamically ng-model="my_{{$index}}" with ng-repeat in AngularJS?)
用户在点击按钮后填写自己生成的表单后,我需要做什么来控制所有ng-models(可以通过在按钮上点击或点击按钮来完成) ?
答案 0 :(得分:0)
我想我得到了它,一个简单的$ scope [$ scope.jsonObj [i] .label]可以引用它。还有其他方式或我应该坚持这个吗?