0

と動的テーブルを提出:ここ私は次のシナリオで</p> <p>データ苦労Angularjs

$scope.MyItem = [ 
    { 
    "__v": 0, 
    "myItemId": "55ed819caefe18e81ffbd2d2", 
    "itemId": "56fec8abb192c870117ed393", 
    "january": 1, 
    "february": 1, 
    "march": 1, 
    "april": 1, 
    "may": 1, 
    "june": 1, 
    "july": 1, 
    "august": 1, 
    "september": 1, 
    "october": 1, 
    "november": 1, 
    "december": 1, 
    "_id": "56fec8abb192c870117ed394", 
    "itemName": "apple" 
    }, 
    { 
    "__v": 0, 
    "myItemId": "55ed819caefe18e81ffbd2d2", 
    "itemId": "56fec8bfb192c870117ed395", 
    "january": 1, 
    "february": 1, 
    "march": 1, 
    "april": 1, 
    "may": 1, 
    "june": 1, 
    "july": 1, 
    "august": 1, 
    "september": 1, 
    "october": 1, 
    "november": 1, 
    "december": 1, 
    "_id": "56fec8bfb192c870117ed396", 
    "itemName": "other" 
    } 
]; 


myapp.monthName = [ 
    {text: 'january'}, 
    {text: 'february'}, 
    {text: 'march'}, 
    {text: 'april'}, 
    {text: 'may'}, 
    {text: 'june'}, 
    {text: 'july'}, 
    {text: 'august'}, 
    {text: 'september'}, 
    {text: 'october'}, 
    {text: 'november'}, 
    {text: 'december'} 
]; 

することは、私のテーブルには、テーブルが12列それぞれに持つ2行が表示さ

<form class="form-inline" ng-submit="myapp.updateMyItems()" > 

    <tbody> 
     <tr ng-repeat="item in MyItem"> 
      <td> 
       {{item.itemName}} 
      </td> 
      <td ng-repeat="monthName in myapp.monthName"> 
       <input type="number" 
         ng-model="MyItem[item._id][monthName.text]" 
         value="{{item[monthName.text]}}" 
         > 
      </td>        
     </tr> 
    </tbody> 

    <button type="submit">Save</button> 
</form> 

です値1、値2の最初の行の最初の学期と値2の最後の学期の2番目の行を設定して、次のオブジェクトを取得します。

 myapp.updateMyItems = function() { 
      var countryItem = $scope.countryItem; 
      console.log(countryItem); // output: 

//   [Object, Object, 56fec8abb192c870117ed394: Object, 56fec8bfb192c870117ed396: Object] 
// 
//   where Object, Object have the same values of "$scope.MyItem" and 
//   
//   56fec8abb192c870117ed394 has 
//    april : 2 
//    february : 2 
//    january : 2 
//    july : 1 
//    june : 2 
//    march : 2 
//    may : 2   
//   ... remaining the last semester exception the july with 1 
//   56fec8bfb192c870117ed396 has 
//    august : 2 
//    december : 2 
//    february : 1 
//    july : 2 
//    november : 2 
//    october : 2 
//    september : 2  
//   and here the opposite situation from the last object 
     }; 

結果は私が期待するものではありません。私はAngularjsでここで間違っていますか?

+0

、十分にこのありえない、あなたは右のあなた – JordanHendrix

答えて

1

入力中のモデルを間違った方法で使用している場合は、ng-model="item[monthName.text]"で参照できます。私の例を確認してください:

あなたはすべてのあなたのコントローラのコードをポストする必要が

https://jsfiddle.net/x9o92yxp/

+0

素晴らしいことだフィドルにそれを置くことができれば、今では動作します。ありがとう@エドゥアルド - ペレイラ –

関連する問題