0

私のHTML:

 <ol  ng-model="gcwr.checked" ng-repeat="gcwr in gcwrs" id="gcwr">                         
 <label class="checkbox" for="{{gcwr.Id}}">  
 {{gcwr.Description}}
 <input ng-model="gcwr.checked" type="checkbox"  /></label>
 </ol>   

私のコンテナコントローラ:

   // initialize section
    $scope.gcwrs = API.GetGCWRs();

   // in the save/submit function
    var newContainer = $scope.newContainer;
    var myGCWRS;
    var tmp = angular.forEach($scope.gcwrs, function (gcwr) {
        myGCWRS += gcwr.checked ? gcwr : null;
        });

    newContainer.GCWRs = [
        angular.copy(myGCWRS)
    ];

問題:

GCWR はフォームに取り込まれていますが、コレクションを newContainer に追加する送信/保存機能広告でチェック済みの gcwr を収集する際に何か問題があります。

何か案は?

-- 角ばった世界で退屈な一日はありません :(

解決済み:

なんてお尻の痛み!!! TGIF 理由があるからです。

解決策は次のとおりです:(申し訳ありませんが、元の投稿からいくつかの名前を変更しました)

    var selectedGCWRs = [];        
    var tmp = angular.forEach($scope.gcwrs, function (gcwr) {            
        if (gcwr.checked) {      
            selectedGCWRs.push(gcwr);
        }
    });

    newContainer.GCWRs = selectedGCWRs;

   .... then go on and save the newContainer.

[注: angular.copy を使用していた場合、Angular が ng-repeat で作成する $$hashkeys は取り除かれませんでした。サーバー上のモデル クラスと一致しない余分なプロパティ、つまり $$hashkey があるため、サーバーはこのコレクションを拒否します。コレクションをコンテナーに渡すだけで、$$hashkeys が取り除かれ、サーバーは満足します。]

4

3 に答える 3

0

使う必要があると思います

var myGCWRS = [];
var tmp = angular.forEach($scope.gcwrs, function (gcwr) {
    if(gcwr.checked) {
        myGCWRS.push(gcwr);
    }
});
newContainer.GCWRs = angular.copy(myGCWRS);
于 2013-03-15T16:15:06.390 に答える
0

解決済み:

なんてお尻の痛み!!! TGIF 理由があるからです。

解決策は次のとおりです:(申し訳ありませんが、元の投稿からいくつかの名前を変更しました)

var selectedGCWRs = [];        
var tmp = angular.forEach($scope.gcwrs, function (gcwr) {            
    if (gcwr.checked) {      
        selectedGCWRs.push(gcwr);
    }
});

newContainer.GCWRs = selectedGCWRs;

.... 次に、newContainer を保存します。

[注: angular.copy を使用していた場合、Angular が ng-repeat で作成する $$hashkeys は取り除かれませんでした。サーバー上のモデル クラスと一致しない余分なプロパティ、つまり $$hashkey があるため、サーバーはこのコレクションを拒否します。コレクションをコンテナーに渡すだけで、$$hashkeys が取り除かれ、サーバーは満足します。]

于 2013-03-15T20:09:05.977 に答える