【发布时间】:2015-09-15 21:48:16
【问题描述】:
我刚刚开始使用 Knockout。 到目前为止,我已经设法在表格中使用 JSON 显示一些日志数据。 我将整个数据集下载到浏览器,现在我想根据下拉表中的选定值过滤表,但我无法找到如何执行此操作。
这是我的看法
<select data-bind="options: $root.LogLevels, value: 'LogLevel', optionsText: 'LogLevel'"></select>
<table class="table table-striped" id="myTable">
<thead>
<tr>
<th>System</th>
<th>Level</th>
<th>Date</th>
</tr>
</thead>
<tbody data-bind="foreach: logList">
<tr>
<td data-bind="text: Logger"></td>
<td data-bind="text: Level"></td>
<td data-bind="text: Date"></td>
</tr>
</tbody>
</table>
这是脚本
function LogViewModel() {
var self = this;
self.logList = ko.observableArray();
self.LogLevels = [{ "LogLevel": "Info" }, { "LogLevel": "Debug"}, { "LogLevel": "Error"}];
self.getLogs = function () {
$.ajax({
type: 'GET',
url: '/Home/GetAllLogData',
contentType: "application/javascript",
dataType: "json",
success: function (data) {
var observableData = ko.mapping.fromJS(data);
var array = observableData();
self.logList(array);
},
error: function (jq, st, error) {
alert(error);
}
});
};
}
$(document).ready(function () {
ko.applyBindings(new window.LogViewModel());
});
非常感谢您对此提供的任何帮助!
【问题讨论】:
标签: knockout.js