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


我用ionic列出了要检索的产品,所有这些都可以使用。

当我执行时,在列表项内(例如,firsr项)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

需要任何帮助,谢谢!

最佳答案

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

标记

<select ng-model="product.Qte"
    ng-options="selectedQte for selectedQte in range('10')">
</select>

07-28 09:56