過去 24 か月間にサーバーから返されたレコードのリストがあります。ユーザーが「過去 18 か月」、「過去 12 か月」、または「過去 24 か月」を選択できる選択メニューがあります。
デフォルトは 24 か月なので、ユーザーが初めてページにアクセスしたときに、完全なリストがサーバーから取得されます。ここで、ポストバックを使用せずに (サーバーへのトリップを節約する)、ユーザーが選択メニューから選択した内容に応じてデータをフィルター処理できますか?
私は jQuery モバイルとノックアウト js で ASP.NET MVC4 を使用しています。
ビュー内のテーブル (html):
<table style="width:100%;">
<tbody data-bind="foreach: TankMixRows">
<tr>
<td data-bind="text: ProductName"></td>
<td data-bind="text: AI"></td>
<td></td>
<td data-bind="text: MOAHerbicide"></td>
<td data-bind="text: MOAInsecticide"></td>
<td data-bind="text: MOAFungicide"></td>
</tr>
</tbody>
</table>
Javascript:
function MOAViewModel() {
var self = this;
self.TankMixRows = ko.observableArray([]);
self.getTankMixRows = function () {
$.ajax({
type: "GET",
url: '@Url.Action("jsonModeOfAction", "WorkOrders")',
data: {
ID: '@Model.RecFieldId'
},
success: function (data) {
self.TankMixRows(data);
}
});
}
//Load initial state from server and populate viewmodel
self.getTankMixRows();
}
ko.applyBindings(new MOAViewModel());