如何在多个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()
方法的所有span
或div
,然后将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')); }); });