【发布时间】:2016-07-22 22:54:32
【问题描述】:
我知道这可能看起来太简单了,但我正在尝试了解 Knockout 的工作原理。我究竟做错了什么 ?我需要为每个学生获取有关“Note”的数据,但我尝试过的方法似乎不起作用......我将不胜感激任何帮助或建议。
<table data-bind="foreach: students">
<tr>
<th>ID</th>
<th>Nume</th>
<th>Prenume</th>
<th>Data</th>
</tr>
<tr>
<td><input type="text" size="1" data-bind="value: StudId" disabled="disabled"></td>
<td><input type="text" size="60" data-bind="value: Nume" disabled="disabled"></td>
<td><input type="text" size="60" data-bind="value: Prenume" disabled="disabled"></td>
<td>
<input type="text" size="15" data-bind="value: Data" disabled="disabled">
<input data-bind="click: $parent.deleteStudent.bind($parent, $data.StudId)" type="button" value="Sterge" class="button button1" id="sterge" />
<input data-bind="click: function() { $parent.loadNote.bind($parent, $data.StudId); alert(NotaId); }" type="button" class="button button2" value="Note" />
</td>
</tr>
</table>
还有淘汰赛:
<script type="text/javascript">
var uri = 'api/student';
var StudentsViewModel = function () {
this.students = ko.observableArray();
this.note = ko.observableArray();
this.loadNote();
this.loadStudents();
};
StudentsViewModel.prototype.loadStudents = function () {
var self = this;
$.getJSON(uri, function (data) {
self.students(data);
});
};
StudentsViewModel.prototype.loadNote = function (id) {
var self = this;
$.getJSON(uri + '/' + id, function (data) {
self.note(data);
});
};
// Apply bindings
ko.applyBindings(new StudentsViewModel());
为什么当我为每个学生按下按钮时它不显示“注意”?
【问题讨论】:
-
由于您收到 HTTP 错误 400(错误请求),您必须检查生成此错误的服务器端脚本。您还可以在浏览器的开发工具中检查所有网络请求和响应(默认为 F12 键)。
标签: knockout.js