Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计数器增量不动态工作?_Javascript_Html_Css_Knockout.js_Css Counter - Fatal编程技术网

Javascript 计数器增量不动态工作?

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,

是否可以在每次生成新的主题行时动态更改计数器增量编号,如下所示

动态生成新的主题行时,计数器增量号是否不变

如果能提供一把新的小提琴,我将不胜感激,因为我对编码还是新手

谢谢大家!

HTML:

JQuery:

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>