我正在使用knockoutjs,我有2列资格名单和分数。点击添加按钮后,我想生成新的行,点击提交按钮后,它需要显示所选的资格名单和我的分数。
我这里有代码:https://jsfiddle.net/wg3t172b/
self.QualificationLists = ko.observableArray([
{ QualName: 'Master', QualId: '0' },
{ QualName: 'Bachelor', QualId: '1' },
{ QualName: 'CA', QualId: '2' },
{ QualName: 'School Leaving', QualId: '3' }
]);
self.addQualification = function () {
self.Qualifications.push({
QualList: "",
QualificationLists: "",
Marks: "",
selectedQualName: "",
});
};
self.removeQual = function (Qualification) {
self.Qualifications.remove(Qualification);
};
self.save = function (form) {
console.log(self.Qualifications());
};
};
var viewModel = new QualificationModel();
ko.applyBindings(viewModel);
当我控制台限定时,它只显示标记,但我的预期结果应该是QualId QualName和标记在一个数组中。
1条答案
按热度按时间noj0wjuj1#
若要修正您选取的范围。请使用
$parent
将一个范围从您的foreach
系结内的内容移出。编辑:澄清一下。当你在一个
foreach
绑定中时,你的当前作用域是迭代中的当前项。因为你的QualificationLists
直接在你的视图模型上,而不是实际上在你正在循环的项上,你必须从父上下文中调用它