我正在使用jQuery Raty plugin在我的网站上启用星级系统。
我有一组4个可评估的问题(也可以是5个),可以使用循环动态显示。
因此,为了显示星星,我使用div id,如下所示:
<c:forEach items="${myQuestionList}" var="singleQuestion" varStatus="status">
<p>${singleQuestion.text}</p>
<div id="star${status.index+1}"></div>
</c:forEach>
Raty初始化代码如下:
$("div[id^=star]").raty({
width: 300
});
这工作得很好。我的所有4(或5)问题都会显示,而Raty星会显示。
现在的问题是,此等级在表格内,需要提交。但是问题是Raty在每个Raty后面附加了一个
<input type="hidden" name="score">
,因此在提交表单时,不可能说出哪个评分是针对哪个问题的。有没有一种方法可以为每个Raty隐藏的输入元素分配一个不同的名称,这将有助于我将其与提出的问题联系起来。
Raty文档说我可以将乐谱名称更改为任何名称:
$('#star').raty({ scoreName: 'myscore' });
但这对我没有帮助,因为我要为所有元素初始化一次Raty插件。
我怎么解决这个问题?请指导。我被卡住了。 :(
最佳答案
好,我自己解决了。
这是所有遇到相同问题的人的解决方案:
scoreName: function(){
return $(this).attr('id');
}
这会将乐谱名称设置为ID名称。您也可以将其设置为其他任何内容。