我正在通过离子和Laravel服务器进行应用程序。 问题是,我有一个项目列表存储在我的服务器中。在离子应用程序中,我将从服务器请求信息以创建表单。我的代码在这里,
<div ng-repeat="itemGroup in mydata">
<div class="item item-divider nn-card-header">
{{itemGroup.name}}
</div>
<ion-list>
<ion-item ng-repeat="item in itemGroup.items">
<h3>{{ item.name }}</h3>
<div class="item range range-positive">
broken
<input type="range" id="{{ item.idgB }}" min="0" max="{{ item.max }}" ng-model="item.idgB" ng-init="item.idgB=0">
{{ item.idgB }}
</div>
<div class="item range range-positive">
missing
<input type="range" id="{{ item.idgM }}" name="volume" min="0" max="{{ item.max }}" ng-model="item.idgM" ng-init="item.idgM=0">
{{ item.idgM }}
</div>
</ion-item>
</ion-list>
</div>
mydata
是这个json数据:
[{
"name":"name",
"items":[{
"id":1,
"name":"itemA",
"max":2,
"idgM":"m.3.1.1",
"idgB":"b.3.1.1"
}]
}]
我的问题是,我不知道如何从输入中获取值,因为我不能使用jquery来查找元素。我知道我将从服务器向应用程序发送项目的所有唯一ID列表。但我不知道如何通过使用字符串变量来获取ng-model
数据。
答案 0 :(得分:0)
你不需要jQuery从输入中获取值,你有你正在循环的对象数组:
itemGroup.items
在您的代码中,您将该数组的每个对象绑定到:
ng-repeat="item in itemGroup.items"
ng-model="item.idgB"
ng-model="item.idgM
然后我希望将这些值设为idgB
数组的每个元素的idgM
和itemGroup.items
属性
但是因为你正在使用:
ng-repeat="itemGroup in mydata"
itemGroup(s)本身是mydata
数组的元素,然后在你的控制器中为了访问那些输入数据,你应该有这样的东西:
angular.forEach(mydata, function(itemGroup, key) {
angular.forEach(itemGroup, function(item, key) {
console.log("First input value: " + item.idgB);
console.log("Second input value: " + item.idgM);
});
});
答案 1 :(得分:0)
来自输入的值存储在模型中,因此您不需要查找元素, 你已经使用了绑定。
以下是如何在角度中使用输入的帮助: https://docs.angularjs.org/api/ng/directive/input
答案 2 :(得分:0)
我认为问题已在这里得到解答: How to create an Array with AngularJS's ng-model
如果您对if有任何疑问,请随时在评论中提问