1

我有一个产品列表,你可以看到 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"

我有33 个选项。

但我想要5第一个,2第二个和7第三个。

需要任何帮助,谢谢!

4

2 回答 2

3

看起来问题dataTypeQte在 JSON 中的 是string&array为范围创建的序列是number. 您需要将来自响应的 JSON 转换为number而不是解决问题string。你可以直接绑定Product.Qte到你的ng-model.

标记

<select ng-model="product.Qte"
    ng-options="selectedQte for selectedQte in range('10')">
</select>
于 2015-09-14T19:59:40.780 回答
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。

于 2015-09-14T20:03:44.713 回答