我想使用ng-submit以角度提交表单 但我也使用了ng-repeat和ng-if 由于我面临的问题是输入选项消失了ng-model coz of ng-if,我的代码会更清楚
[chunkhash]
请告诉我如何将输入数据发送到控制器
答案 0 :(得分:0)
如果我理解正确,您希望发送不可见输入数据和可见输入数据。
要做到这一点,您需要做的就是将ng-if
更改为ng-show
,因为ng-if
实际上从DOM中删除了字段,而ng-show
只隐藏了它:< / p>
<div ng-show="y.configvalue2==x.id">
<input ng-model='configvalue2' type="radio" value="
{{y.configvalue3}}" name="{{y.configvalue2}}" >{{y.configvalue1}}
</div>
答案 1 :(得分:0)
要将您的选择传递给控制器,您可以执行以下操作:
如果在ng-repeat中删除ng-if。相反,对要重复的集合使用过滤器
<div ng-repeat="y in questions[1] | filter:{configvalue2:x.id}">
由于ng-repeat创建了一个内部范围,您必须将ng-model与父母的范围相关联(因为我们在这里有2 ng-repeats)。此外,由于我们将对不同的问题有不同的答案,我们应该在一个集合中添加相应的答案,并以其问题ID为索引
<input ng-model='$parent.$parent.configvalue[x.id]' type="radio" value="
{{y.configvalue3}}" name="{{y.configvalue2}}">{{y.configvalue1}}
在控制器端,您现在可以访问configvalue集合以查找所有答案。通过&#39;结果&#39;不需要评估功能。
$scope.evaluate = function() {
alert("submitted values:"+ $scope.configvalue[1] + "," +$scope.configvalue[2]);
}