используя knockoutjs, у меня есть 2 столбца квалификационного списка и оценки. После того как я нажму кнопку «Добавить», я хочу создать новые строки и заменить кнопку (Добавить) на кнопку «Обновить».
Вот мое демо: https://jsfiddle.net/fjbrsvgn/3/
function Qualification(data) {
var self = this;
self.QualId = ko.observable(data.QualId);
self.QualName = ko.observable(data.QualName);
self.Marks = ko.observable(data.Marks);
}
function QualificationList(data) {
var self = this;
self.QualId = ko.observable(data.QualId);
self.QualName = ko.observable(data.QualName);
}
var QualificationViewModel = function () {
var self = this;
self.Marks = ko.observable();
self.Qualifications = ko.observableArray(Qualification);
self.QualificationLists = ko.observableArray([
{ QualName: 'Master', QualId: '0' },
{ QualName: 'Bachelor', QualId: '1' },
{ QualName: 'CA', QualId: '2' },
{ QualName: 'School Leaving', QualId: '3' }
]);
self.selectedQualName = ko.observable();
self.AddQualification = function () {
self.Qualifications.push({
QualList: "",
QualificationLists: "",
Marks: "",
selectedQualName: "",
});
};
self.SaveQualification = function () {
console.log(self.Qualifications());
};
};
$(document).ready(function () {
var qualificationViewModel = new QualificationViewModel();
ko.applyBindings(qualificationViewModel);
});
показывает ошибку: аргумент, передаваемый при инициализации наблюдаемого массива, должен быть массивом, либо нулевым, либо неопределенным. Мой ожидаемый результат, когда я ухожу на Квалификацию, должен показывать Квалификационное Имя Квалификационный Идентификатор и Знаки.