【发布时间】:2015-07-14 20:06:02
【问题描述】:
我作为 WEB 服务调用并获取 JSON 数据。之后使用淘汰赛 Js 我绑定到一个表格中。之后,当用户在文本 bax 中键入内容时,它会过滤数据并显示在 UI 中。但目前它不起作用。请在下面找到代码。
<script src="../../Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/knockout-3.3.0.js"></script>
@{
ViewBag.Title = "AllTasks";
}
<script type="text/javascript">
var viewModel;
var url = 'http://localhost:22653/api/AllTasks';
$(document).ready(function () {
debugger;
var FAJobViewModel = function () {
var self = this;
self.Parameters = ko.observableArray();
var AllTask = JSON.parse(readJSON(url));
function readJSON(file) {
var request = new XMLHttpRequest();
request.open('GET', file, false);
request.send(null);
if (request.status == 200)
return request.responseText;
};
self.Parameters = ko.observableArray(AllTask);
self.query = ko.observable('');
self.search = function (value) {
self.JobIDParameters = ko.observableArray();
debugger;
for (var x in AllTask) {
if (AllTask[x].JobNumber.toLowerCase().indexOf(value.toLowerCase()) >= 0) {
self.JobIDParameters.push(AllTask[x]);
}
}
self.Parameters = self.JobIDParameters;
};
}
viewModel = new FAJobViewModel();
viewModel.query.subscribe(viewModel.search);
ko.applyBindings(viewModel, document.getElementById("AllTask"));
}
);
</script>
<div id="AllTask" class=" container-fluid" style="margin-top:50px">
<span>JobId</span><input id="txtSearch" placeholder="Search…" type="search" data-bind="value: query, valueUpdate: 'keyup'" autocomplete="off">
<input type="button" id="btnSearch" value="Search" " />
<table border="1">
<thead>
<tr>
<th>Job Id</th>
<th>Requestor</th>
<th>Test Name</th>
<th>Priority</th>
<th>CreatedDate</th>
</tr>
</thead>
<tbody data-bind="foreach:Parameters" class=" container-fluid">
<tr>
<td><span data-bind="text:JobNumber"></span></td>
<td><span data-bind="text:Requestor"></span></td>
<td><span data-bind="text:TaskAbbreviation"></span></td>
<td><span data-bind="text:Priority"></span></td>
<td><span data-bind="text:CreatedDate"></span></td>
</tr>
</tbody>
</table>
</div>
【问题讨论】:
-
试着把这个
self.Parameters = self.JobIDParameters;变成这个self.Parameters(self.JobIDParameters())。 -
非常感谢这个工作......
-
我该怎么做?
-
如果您得到了解决方案,请将其标记为答案。这将对其他进来的人有用。
标签: knockout.js