该页面正确显示了顾问的原始列表。但是,当我尝试使用 push() 方法插入数组时,列表大小会更新,但页面上的选择选项列表不会更新。我需要告诉淘汰赛更新吗?这是一些示例代码:
function updateStudentAdviserList(student) {
var list = viewModel.studentAdvisers();
if (student.IsStudentAdviser() == "true" || student.IsStudentAdviser() == true) {
var alreadyInList = false;
for (var i = 0; i < list.length; i++) {
alert(list[i].Id);
if (list[i].Id == student.Id()) {
return;
}
}
list.push(student);
alert('new size: ' + list.length);
} else {
for (var i = 0; i < list.length; i++) {
alert(list[i].Id);
if (list[i].Id == student.Id()) {
list.splice(i, 1);
alert('new size: ' + list.length);
break;
}
}
}
}
function ViewModel(data) {
var self = this;
this.studentAdvisers = ko.observableArray(data);
}