У меня есть список элементов, взятых с сервера (AJAX + JSON), и фильтр статусов этих элементов, который фильтрует список. Я хочу, чтобы список обновлялся (новый запрос Ajax отправлен), как только изменяется значение фильтра. Пожалуйста, помогитеknockout.js: как обновить список (вызов сервера) в качестве значения фильтра, измененного пользователем
<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();
}
UPDATE: Один из подхода состоит в том, чтобы подписаться на изменения selectedStatus внутри модели, как это:
self.SelectedStatus.subscribe(function() {
$.getJSON(...)
});
Это лучший способ сделать это?
Непонятный вопрос. Если вы используете AJAX, почему бы просто не обновить значения в обратном вызове? – deltree
Вопрос заключается в том, как запустить обратный вызов сервера, я не хочу использовать классическое событие onchange