我有問題讓我的搜索工作。我希望能夠在輸入名字搜索後更新原始列表。使用ASP.Net搜索Knockout.Js
我的JavaScript
var ViewModel = function() {
var self = this;
self.police = ko.observableArray();
self.error = ko.observable();
self.detail = ko.observable();
var policeUri = '/api/polices/';
self.getPoliceDetail = function(item) {
ajaxHelper(policeUri + item.Id, 'GET').done(function(data) {
self.detail(data);
});
}
function ajaxHelper(uri, method, data) {
self.error(''); // Clear error message
return $.ajax({
type: method,
url: uri,
dataType: 'json',
contentType: 'application/json',
data: data ? JSON.stringify(data) : null
}).fail(function(jqXHR, textStatus, errorThrown) {
self.error(errorThrown);
});
}
function getAllPolices() {
ajaxHelper(policeUri, 'GET').done(function(data) {
self.police(data);
});
}
// Fetch the initial data.
getAllPolices();
};
ko.applyBindings(new ViewModel());
我的搜索框HTML。我有一個簡單的數據綁定就像這樣爲我的HTML。
<ul class="list-unstyled" data-bind="foreach: police">
<li>
<strong><span data-bind="text: FirstName"></span> <span data-bind="text: LastName"></span></strong> : <span data-bind="text: Gender"></span>
<input type="search" class="form-control" data-bind="textInput: query" autocomplete="off" />
你想讓搜索框工作在客戶端或服務器端嗎?你已經嘗試了什麼?你的數據是什麼樣的? – user3297291
我希望它能夠像客戶端的實時更新一樣工作。我將我的數據綁定到了可觀察的淘汰賽,但沒有過濾數據。一旦我打電話給getallpolice,如果一個人要搜索警察,我只想過濾這些結果並更新視圖。 –