2017-12-08 5 views
0
$scope.orderDetails = [ 
     { 
      "id":"115584", 
      "user_id":"78937", 
      "your_sys_global":null, 
      "created_at":"2017-12-08 05:03:20" 
     }, 
     { 
      "id":"115585", 
      "user_id":"78936", 
      "your_sys_global":"MicSamse", 
      "created_at":"2017-12-08 05:03:21" 
     }, 
     { 
      "id":"115586", 
      "user_id":"78938", 
      "your_sys_global":null, 
      "created_at":"2017-12-08 05:03:52" 
     } 
    ]; 

<div ng-repeat="user in profiles track by $index"> 
    <input 
    type="text" 
    name="your_sys_global_{{user.user_id}}" 
    ng-model="orderDetails[user.user_id].your_sys_global" 
    ng-change="saveOrder(user, orderDetails[user.user_id])" 
    > 
</div> 

詳細はモデルビューに詳細をフェッチすることは

+1

'profiles'配列はどこにありますか? –

+0

これはあなたが使用している正確なコードの場合、 'orderDetails'の最後にカンマがありません –

+0

' profile'の代わりに 'orderDetails'を使用します。 –

答えて

0

問題がorderDetails[user.user_id]である理由を、あなたの$scope.orderDetailsが配列のANあなたがその配列の値を更新するために、インデックスを必要と案内してくださいテキストボックスにフェッチされていませんangularjs。

ng-changeng-modelは、正しく設定されている場合、$scope.orderDetailsを更新するのはなぜですか?

はあなた$scope

$scope.getUserOrder = function(user) { 
    return $scope.orderDetails.filter(function(order) { 
    return order.user_id === user.user_id; 
    })[0] 
} 

に次のメソッドを追加し、いくつかの入力間違いがあるかもしれない、気にしないでください。このmethod

<div ng-repeat="user in profiles track by $index"> 
    <input 
    type="text" 
    name="your_sys_global_{{user.user_id}}" 
    ng-model="getUserOrder(user).your_sys_global" 
    > 
</div> 

を使用するようにマークアップを変更します。

+0

' user.user_id'をインデックスとして使用できないのはなぜですか?例えば'ng-model =" orderDetails [420] .your_sys_global " –

+0

' array'インデックスは '0 ..... n'のようなものです。そして、それらはデータベースの 'user_id'と一致しません。 –

+0

彼はプロフィールからユーザーを引っ張って、別の配列でそのユーザーにモデルをバインドしているので、特定のインデックスを使用することは意味があります。特定の順序になる必要はありません(そうでなければ、 '$ index' –

関連する問題