【发布时间】:2013-08-19 11:48:55
【问题描述】:
我有过去 24 个月从服务器返回的记录列表。有一个选择菜单,用户可以在其中选择“过去 18 个月”、“过去 12 个月”或“过去 24 个月”。
默认为 24 个月,因此当用户第一次访问该页面时,将从服务器检索完整列表。现在,不使用回发(从而节省到服务器的行程),我可以根据用户从选择菜单中选择的内容过滤数据吗?
我将 ASP.NET MVC4 与 jQuery mobile 和 knockout.js 一起使用。
视图中的表格(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());
【问题讨论】:
-
答案是肯定的——但你尝试过什么?要分享的代码?
-
代码对于了解您想要做什么总是很重要,如果您正在寻找建议,请查看在您的可观察数组之上使用 Computeds 以获得一种简单的方法。
-
没有尝试过任何东西,因为我认为这不可能是客户端。这就是我问这个问题的原因。如果有帮助,我会添加代码。
-
您发送给客户的数据中有日期字段吗?你能给我们看看模型吗?
-
不,我现在不检索日期字段,但我现在明白它是必需的,我将它添加到模型中。
标签: jquery-mobile asp.net-mvc-4 knockout.js