【问题标题】:KnockoutJs - Calculate Database RatingsKnockoutJs - 计算数据库评级
【发布时间】:2015-04-28 04:10:11
【问题描述】:

先看看这个:

http://pastebin.com/823NMiWc

这是 Knckoutjs + Jquery Raty 插件

假设这些是数据库中的列:

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 对我来说是另一回事。

【问题讨论】:

    标签: javascript jquery knockout.js raty


    【解决方案1】:

    您可以使用computed observable 来计算平均值。

    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>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 2015-07-30
      • 2012-10-24
      • 1970-01-01
      • 2017-03-05
      相关资源
      最近更新 更多