我正在使用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名称。您也可以将其设置为其他任何内容。

10-04 19:15