Ich muss für jeden Schüler Daten über "Note" bekommen, aber die Methode, die ich versucht habe scheint nicht zu funktionieren ... Ich würde jede Art von Hilfe oder Ratschläge zu schätzen wissen.Knockout: Daten bekommen
<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(// I wanna display the received json in this alert box); }" type="button" class="button button2" value="Note" />
</td>
</tr>
</table>
Und Knockout ein:
<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());
ich eine Liste von Studenten haben und auf den „Hinweis“ Taste drücken, möchte ich Anzeige Details über sie in einem Warnfeld.
EDIT:
var StudentsViewModel = function() {
this.students = ko.observableArray();
this.note = ko.observableArray();
this.loadStudents();
this.loadNote();
};
StudentsViewModel.prototype.loadStudents = function() {
var self = this;
$.getJSON(uri, function (data) {
self.students(data);
});
};
JSON Studentenmodell:
{
"StudId": 7,
"Nume": "Mihalache",
"Prenume": "Florin",
"Data": "2016-07-05T12:00:00"
}
JSON Hinweis Modell:
{
"Student": "Mihalache Florin",
"NotaId": 1,
"Materie": "Matematica",
"Nota": 10,
"Status": true
}
Welchen Konsolenfehler bekommen Sie? Bitte posten Sie auch, wie Ihre Daten aus der 'loadStudents' Ajax Antwort aussehen. Was ich aus Ihren HTML-Datenbindungen sehen kann, ist, dass '$ parent.deleteStudent' in Ihrem KO ViewModel nicht existiert. Das wird die Verarbeitung von Daten stoppen. –
@Ben es existiert, aber ich habe es hier nicht gepostet. Ich weiß nur nicht, wie ich einen Json von '/ api/student/id' bekommen und es in eine Alarmbox formatieren kann, die anderen Methoden arbeiten richtig ohne Konsolenfehler. Der Fehler, der gerade empfangen wird, ist badrequest(). – Florin
@BenSewards Ich habe die Frage bearbeitet und geschrieben, wie ich die Daten für die Schüler bekomme. – Florin