3

我正在使用jQuery Raty 插件在我的网站上启用星级评分系统。

我有一组 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<input type="hidden" name="score">为每个 Raty 附加了一个,因此当提交表单时,不可能说出哪个评级是针对哪个问题的。

有没有办法可以为每个 Raty 隐藏输入元素分配一个不同的名称,这将有助于我将其与所提出的问题联系起来。

Raty 文档说我可以将乐谱名称更改为任何名称:

$('#star').raty({ scoreName: 'myscore' });

但这对我没有帮助,因为我正在为所有元素初始化一次 raty 插件。

我怎么解决这个问题?请指导。我被困住了。:(

4

1 回答 1

5

好的,我自己解决了。

以下是任何卡在同一点上的人的解决方案:

scoreName: function(){
                    return $(this).attr('id');
                }

这会将分数名称设置为 id 名称。您也可以将其设置为其他任何值。

于 2013-04-01T08:26:51.590 回答