0

我正在为学校制作一个小型网站,这是一个基于图像的画廊,您可以在其中投票和评论。目前,它们都在一个页面上,并且都有一个评级表。

所以目前默认评级正在工作,但我无法更新它(坦率地说我不知道​​如何)这是它现在的样子

http://i.imgur.com/M4ZOtUG.png

用户应该输入一个评级,然后它应该显示评级的新值。

自从我评价第一张图片 3 以来,我已经非常接近了;我得到:(在我的控制台中)

"c1, 3"

当我将第四张图片评分为 5 时,我得到:

"c4, 5"

等等

现在如何更新默认评级?(默认评级在我的收藏中设置)

集合中图像的示例代码

{image: "images/gifs/water.gif", rating: 5, comments: "Love the detail in this one!", title:"Water", category:"Nature"}

以下是我的看法:

gifs_html += '<td>' + "<span class=\"stars\">" + gifs[gif].get("rating") + ".0</span>" + "\n" + "<form data-id=\"" + gifs[gif].cid  + "\"><input type=\"text\" name=\"amount\" size=\"5\" value=\"\"/>" + "\n" + "<input type=\"submit\" value=\"Rate\">" + "<input type =\"hidden\" name=\"cid\" value=\"" + gifs[gif].cid + "\"> </form>" + '</td>';

然后我给出这个 jquery 函数(更新星形图像)

$('span.stars').stars();

和这个事件

                events:{
                'submit form':function(ev){
                    var $form = $(ev.currentTarget);

                    var id = $form.data("id");
                    var rating = $("input[name=amount]", $form).val();
                    console.log(id + ", " + rating);
                    return false;
                }

帮助将不胜感激。谢谢。

4

1 回答 1

1

如果您设置“提交表单”事件的视图是集合视图,您必须执行以下操作:

this.collection.get(id).set("rating", rating);

如果是模型视图:

this.model.set("rating", rating);

干杯。

于 2013-10-23T12:12:52.623 回答