Javascript 剔除不更新表
我想从表单字段中获取值,并将它们作为对象保存到observableArray中。并在表格中显示它们。因此,每次我点击“添加”按钮,表格都应该更新,但它不工作Javascript 剔除不更新表,javascript,knockout.js,Javascript,Knockout.js,我想从表单字段中获取值,并将它们作为对象保存到observableArray中。并在表格中显示它们。因此,每次我点击“添加”按钮,表格都应该更新,但它不工作 <select data-bind="options: gradeList, optionsText: 'Name', value: selectedGrade"></select> <input type="text" data-bind="value: komark" /> <button da
<select data-bind="options: gradeList, optionsText: 'Name', value: selectedGrade"></select>
<input type="text" data-bind="value: komark" />
<button data-bind="click: addMark">Add</button>
<table>
<thead>
<tr>
<th>SN</th>
<th>Name</th>
<th>Mark</th>
</tr>
</thead>
<tbody data-bind="foreach: allMarks">
<tr>
<td data-bind="$data.id"></td>
<td data-bind="$data.name"></td>
<td data-bind="$data.mark"></td>
</tr>
</tbody>
</table>
<p data-bind="text: allMarks"></p>
这是我的javasript。“mark”和“allMarks”的值在控制台中得到更新,但表从未得到更新。
没有任何作用,您还没有指定绑定。你可能想要:
var newModel = function () {
var self = this;
self.komark = ko.observable();
self.mark = ko.observable();
self.selectedGrade = ko.observable();
self.gradeList = ko.observableArray([]);
self.allMarks = ko.observableArray([]);
self.loadAllGrades = function () {
$.ajax({
type: "GET",
dataType: "text",
url: "studenthandler.ashx",
data: { "action": "getAllGrades", "id": 0 },
success: function (res) {
self.gradeList(JSON.parse(res));
},
error: function () {
alert("Failed to load.\nHit Refresh.");
}
});
};
self.addMark = function () {
// console.log("button clicked");
self.mark({ "id": self.selectedGrade().Id, "name": self.selectedGrade().Name, "mark": self.komark() });
console.log(self.mark());
self.allMarks.push(self.mark());
console.log(self.allMarks());
};
self.loadAllGrades();
}
<td data-bind="text: $data.id"></td>
<!-- ----------^^^^^^ -->
添加
锡
名称
做记号