Javascript 计数器增量不动态工作?
是否可以在每次生成新的主题行时动态更改计数器增量编号,如下所示 动态生成新的主题行时,计数器增量号是否不变 如果能提供一把新的小提琴,我将不胜感激,因为我对编码还是新手 谢谢大家! HTML: JQuery:Javascript 计数器增量不动态工作?,javascript,html,css,knockout.js,css-counter,Javascript,Html,Css,Knockout.js,Css Counter,是否可以在每次生成新的主题行时动态更改计数器增量编号,如下所示 动态生成新的主题行时,计数器增量号是否不变 如果能提供一把新的小提琴,我将不胜感激,因为我对编码还是新手 谢谢大家! HTML: JQuery: var gradeMapping = { 'A+': 15, 'A': 14, 'A-': 13, 'B+': 12, 'B': 11, 'B-': 10, 'C+': 9,
var gradeMapping = {
'A+': 15,
'A': 14,
'A-': 13,
'B+': 12,
'B': 11,
'B-': 10,
'C+': 9,
'C': 8,
'C-': 7,
'D+': 6,
'D': 5,
'D-': 4,
'E+': 3,
'E': 2,
'E-': 1
}
function Class(title, credits, letterGrade) {
var self = this;
self.title = ko.observable(title);
self.credits = ko.observable(credits);
self.letterGrade = ko.observable(letterGrade);
self.gpa = ko.computed(function() {
return gradeMapping[self.letterGrade()];
});
}
function GpaCalcViewModel() {
var self = this;
self.classes = ko.observableArray();
self.totalGPA = ko.computed(function() {
var totalWeightedGPA = 0,
totalCredits = 0;
$.each(self.classes(), function() {
totalWeightedGPA += (this.gpa() * this.credits());
totalCredits += (this.credits() * 1);
})
return totalWeightedGPA / totalCredits;
});
self.totalGrade = ko.computed(function() {
var totalWeightedGPA = 0,
totalCredits = 0;
var gradeLetter = null;
$.each(self.classes(), function() {
totalWeightedGPA += (this.gpa() * this.credits());
totalCredits += (this.credits() * 1);
});
$.each(gradeMapping, function(letter, number) {
if(number == Math.round(totalWeightedGPA / totalCredits)){
gradeLetter = letter;
}
})
return gradeLetter;
});
self.addClass = function() {
self.classes.push(new Class());
}
};
var viewModel = new GpaCalcViewModel();
ko.applyBindings(viewModel);
你的问题与击倒无关,只与击倒有关 您需要先重置
部分
计数器,但必须在“容器”级别执行此操作:
并将“列表”类添加到您的ul
:
<ul align="center" class="list" data-bind="foreach: classes">
演示
或者使用无容器语法删除字符串连接:
<label>Subject: <!-- ko text: $index() + 1 --><!-- /ko -->. </label>
主题:。
请尝试将代码修剪到所需的最小值。你的代码中有很多事情似乎与问题无关,但我认为也有一些地方遗漏了(例如,数字的视图代码)。检查“”以获得指导。
.list {
counter-reset: section;
}
.number:after {
counter-increment: section;
content: " " counter(section) ". ";
}
<ul align="center" class="list" data-bind="foreach: classes">
<label data-bind="text: 'Subject: ' + ($index() + 1) + '.'"></label>
<label>Subject: <!-- ko text: $index() + 1 --><!-- /ko -->. </label>