2017-02-13 6 views
-1

ソート順と国コードプロパティを持つオブジェクトを含むリストがあります。ソート順を変更して、ソート順を変更して、新しいソート順に並べ替える必要があります。たとえば:今すぐ2として、英国の並べ替えを変更角度Js - リスト項目の並べ替え

Country Code | Sort Order 
AUS   1 
IND   2 
USA   3 
UK    4 
RUS   5 

のように結果を与える必要があります。

Country Code | Sort Order 
AUS   1 
UK    2 
IND   3 
USA   4 
RUS   5 

私は、データベースの変更は最小限でなければなりませんソリューションを必要としています。このリストは、保存するために、角度コントローラを介してC#web APIコントローラに送信されるためです。

+1

質問に文脈を追加してください。最小限に抑えたいと思われるデータベースの変更を洗練されたものにします。 – DevCod

+0

さて、私に説明させてください。私は1つの値だけを変更しました。イギリスの並べ替え順序を4から2に変更し、他の並べ替え順序はすべて米国になるまで増加しましたが、RUS 'は同じであるため4が2になり、ソート順2と3がそれぞれ3と4になりました。私がscope.changesを角度で追跡すると、私は3つの変更、すなわちUU、IND、USAを取得します。英国の記録だけを更新する必要がある場合や、最小限のアプローチがあるかどうかは問題ありません。 –

答えて

0

コードは提供されていないため、私はあなたが作業しようとしているUIコードとワークフローを想定していました。以下のコードを使用して、モデルの変更を選択的に追跡することができます。

HTML: 
<html> 
     <input ng-change="change(ele, '{{ele.sortOrder}}')" type="number" ng-model="ele.sortOrder"></input> 
</html> 

JavaScript: 
$scope.change = function(NewObject, OldSortOrder) { 
$scope.NewObject = NewObject; 
$scope.NewSortOrder = NewObject.sortOrder; 
$scope.OldSortOrder = OldSortOrder; 

//Make a call to the C# web Api now with the changes you want to update in the backend. 
//$http.post('api/..'); 

} 

完全なコードは、このような別のクエリはng-change get new value and original valueで見つけることができますhttps://plnkr.co/edit/LdhpZr?p=preview

に保たれています。

関連する問題