【发布时间】:2016-10-24 19:13:01
【问题描述】:
我有一个表单,它允许用户上传一个 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(这可以通过在按钮 onclick 或 ng-click 中放置一个函数来完成) ?
【问题讨论】:
标签: javascript angularjs