我有一个产品列表,你可以看到JSON:
var panier =
{
"Client": "Ben",
"Date":"",
"Produits": [
{
"Id": "188",
"Name":"Name1",
"Qte": "5",
"Variante":
"20 Pcs",
"Prix" :"149.00"
},
{
"Id": "231",
"Name":"Name2",
"Qte": "2",
"Variante": "7 encas de 35g",
"Prix" :"109.00"
},
{
"Id": "232",
"Name":"Name3",
"Qte": "7",
"Variante": "10 pieces",
"Prix" :"99.00"
}
]
};
我用离子列表来检索产品,一切正常。
我在列表项目内部(例如第一项)Qte = {{product.Qte}}
它给了我Qte = 5
但是,当我想将数量放在选择上时,它不适用于ng-init:
<select
ng-model="selectedQte"
ng-init="selectedQte = {{product.Qte}}"
ng-options="selectedQte for selectedQte in range('10')"
ng-change="product.Qte = selectedQte">
</select>
我试过了:
ng-init="selectedQte = product.Qte"
和:
ng-init="selectedQte = {{product.Qte}}"
但没有任何反应。我试过的时候:
ng-init="selectedQte = 3"
我的3次选择中有3
。
但我希望第一个5
,第二个2
和第三个7
。
需要任何帮助,谢谢!
答案 0 :(得分:3)
问题是,JSON中dataType
的{{1}}是Qte
&amp;为范围创建的string
是array
的序列。您需要将来自响应的JSON转换为number
而不是number
才能实现。您可以直接将string
绑定到Product.Qte
。
<强>标记强>
ng-model
答案 1 :(得分:1)
这应该有效:
<select ng-model="selectedQte" ng-init="selectedQte = panier.Produits[0]"
ng-options="item.Name for item in panier.Produits">
</select>
您的ng-model包含所选值,但ng-option应遍历您的列表。在你的html中,你在两种情况下使用selectedQte。