我有一个从服务器(AJAX + JSON)获取的项目列表,以及过滤列表的此项目的状态过滤器。我想要在更改过滤器值时更新列表(发布新的Ajax请求)。请帮忙
<select data-bind="options: statuses, value: selectedStatus">
...
<table>
<tbody data-bind="foreach: items">
...
</tbody>
</table>
function Model() {
var self = this;
self.items = ko.observable();
self.statuses = ko.observable();
self.selectedStatus = ko.observable();
}
更新:其中一种方法是在模型中订阅selectedStatus更改,如下所示:
self.SelectedStatus.subscribe(function () {
$.getJSON(...)
});
这是最好的方法吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
另一种组织更新的方法 - 只需创建一个触发器计算的observable,它将调用将更新列表的函数
但我不确定这是最好的方式..我认为订阅是最简单的方法,但是不要忘记关于ajax请求的loker!