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"
            }
        ]
    };

製品を取得するために ionic を使用してリストを作成すると、すべて機能します。

リストアイテムの内部(最初のアイテムなど)を実行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は最初のもの、22番目7、3番目のものを望んでいます。

助けが必要です、ありがとう!

4

2 に答える 2

3

問題は、JSONdataTypeの の にあるように見えます&作成された範囲は のシーケンスです。トリックを行うのではなく、応答からの JSON を変換する必要があります。を に直接バインドできます。QtestringarraynumbernumberstringProduct.Qteng-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 に答える