Javascript Angular JS从div收集所有输入值
我是Angular JS的新手,我创建了一个带有输入元素的div,并且没有对输入框使用ng模型Javascript Angular JS从div收集所有输入值,javascript,angularjs,input,Javascript,Angularjs,Input,我是Angular JS的新手,我创建了一个带有输入元素的div,并且没有对输入框使用ng模型 <div class="row"> <br> <div class="col-sm-10" id="rankingForm" > <p ng-repeat=" x in $ctrl.outputProductAttributeValueList"> {{x}} &nbs
<div class="row">
<br>
<div class="col-sm-10" id="rankingForm" >
<p ng-repeat=" x in $ctrl.outputProductAttributeValueList">
{{x}} <input type="text" />
</p>
<br>
<button type="submit" ng-click="$ctrl.onRankingFormSubmit()"> SUBMIT</button>
</div>
</div>
现在我想收集由ng repeat动态创建的所有输入值。请告诉我怎么做?AngularJS是将视图绑定到模型中的标准方法,而不是直接与DOM交互
您可以在divid=“rankingForm”
中获取所有输入,您可以执行以下操作:
var inputs = $document[0]
.getElementById('rankingForm')
.getElementsByTagName('input');
或使用:
一旦有了输入
,就可以迭代所有输入以获得值。。请注意,我在输入中添加了属性name
:
代码省略ngModel
:
angular
.module('应用程序',[])
.controller('AppController',['$scope','$document',函数($scope,$document){
$scope.outputProductAttributeValueList=[‘年龄’、‘性别’、‘全部’];
$scope.onRankingFormSubmit=函数(){
var inputs=$document[0]。querySelectorAll(“#rankingForm input”);
输入。forEach(函数(输入){
console.log(input.name+':'+input.value);
});
};
}]);代码>
{{x}
提交
您不需要任何验证或检查数据是否实际存在吗?不需要任何验证所有输入字段都是从服务器响应动态生成的。那么我如何维护所有ng模型变量呢?您只需要一个名称
(字段的唯一标识符)和您希望填充它的值(如果有)…@voorarun我想知道,为什么不使用ng模型呢。这是标准的角度方法-使用模型,而不是直接使用DOM。您当前的实现消除了Angular的所有优点,并且与旧的jQuery方法没有任何区别。
var inputs = $document[0]
.getElementById('rankingForm')
.getElementsByTagName('input');
var inputs = $document[0].querySelectorAll('#rankingForm input');