如何在多个jquery raty系统中控制目标

我正在使用jquery raty在php中进行评级页面,其中显示了多个评级。 除非有一件事,否则它确实有效 分数function和点击function正常。 但是我在尝试为每个元素设置目标时遇到了问题。 我想要的是显示hover在每颗星上的评级选择。 它应该使用类“star_hint”显示div中的提示,但事实并非如此。

每个元素都显示在div中,如下所示:

First valoration

Second valoration

etc....

脚本是这样的:

 $('.star').raty({ target: $(this).next('.star_hint'), score: function() { return $(this).attr('data-number'); // set default value }, click: function(score) { $(this).next().val(score); // save clicked value in hidden input GetAverageNote(); // calculates average note from all ratys } }); 

我无法使用id作为目标,因为每个星标项都有不同的目标。 我也尝试在函数中返回值,比如得分和点击确实,但它不起作用。 像那样:

 target: function() { $(this).next('.star_hint'); } 

任何人都知道如何使这项工作?

您可以循环raty()需要绑定raty()方法的所有spandiv ,然后将tid作为变量传递以设置raty({target:tid})

 Rate    $( document ).ready(function() { $('span[id^="star"]').each(function(){ var tid = $(this).attr('rel'); $(this).raty({ target : tid , starOff : '/img/star-off.png', starOn : '/img/star-on.png' }) }) }); 

HTML

 

JS

 $(function () { $('div[class^="star"]').each(function(){ $(this).raty({ readOnly:true, score: function() {return $(this).attr('data-score');}, }) $(this).next().text($(this).attr('data-score')); }); });