jquery rateIt with meteor:如何在同一页面上呈现多个星级?

时间:2013-10-01 02:44:13

标签: jquery meteor

我正在使用jQuery rateIt和Meteor(https://github.com/dandv/meteor-jquery-rateit),我希望在同一页面上有多个评级,例如:

Alex ****
Barb *****
Chuck *
Dora ***

为此,我需要每个人都有一个不同的id,例如

Alex <div class="rateit" id="1"></div>
Barb <div class="rateit" id="2"></div>

...等...

如何在我的javascript代码中获取id和评级?我试过像:

'click .rateit' : function(e) {
      console.log('value:'+$('#add-rating').rateit('value') );
      console.log(e.target.id);
}

和其他组合,但我仍然无法获得id。有什么建议?这篇SO帖子可能是相关的:

How to use star rating (input) field many times in a page

但是,坦率地说,我不明白如何在流星中实现所提出的解决方案。

编辑:感谢@PSL和@Barmar对此的评论。现在,我只有一个小问题:为了将评级保存到数据库(即为了让Metor.call执行),我必须点击评级TWICE。有关如何解决此问题的任何想法? (代码如下)

'click .rateit' : function(e) {

        e.preventDefault();
        $(".rateit").on('rated', function (event, value) {

            // console.log('id:' + event.target.id);
            // console.log('id:' + this.id);
            // console.log('Rating:' + value)

            thisRating = value;
            Meteor.call('Put rating in DB', {rating: thisRating}, function(error, id) {
                if (error)
                    return alert(error.reason);
                else {
                    // alert('success');
                }
            });
        });

    }

0 个答案:

没有答案