0

最初にこれを見てください:

http://pastebin.com/823NMiWc

これは Knckoutjs + Jquery Raty Plugin です

これらがデータベースの列であると仮定します。

story_rev: ko.observable(),
animation_rev: ko.obervable(),
sound_rev: ko.observable(),
characters_rev: ko.observable(),
enjoyment_rev: ko.observeable(),

これらは基本的にデータベース内の評価ベースのイベントで、0 ~ 5 の範囲で 0.5 刻み (数値入力) です。

5つの評価の平均を計算する方法を知っている人はいますか? 私はjqueryを介してそれを行う方法をちょっと知っていますが、knockoutjsは私にとって別の話です.

4

1 に答える 1

1

計算されたオブザーバブルを使用して平均を計算できます。

function AppViewModel() {
    var self = this;
 
    self.story_rev = ko.observable();
    self.animation_rev = ko.observable();
    self.sound_rev = ko.observable();
    self.characters_rev = ko.observable();
    self.enjoyment_rev = ko.observable();
    
    self.averageRating = ko.computed(function() {
        var ratings = [self.story_rev(), self.animation_rev(), self.sound_rev(), self.characters_rev(), self.enjoyment_rev()];
        
        return ratings.reduce(function(a, b) {
            return a + parseInt(b, 10);
        }) / ratings.length;
    });
}

var model = new AppViewModel();

model.story_rev(1);
model.animation_rev(2);
model.sound_rev(3);
model.characters_rev(4);
model.enjoyment_rev(5);

//Should output the average (in this case 3)
console.log(model.averageRating());
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>

于 2015-08-28T16:04:25.197 に答える