【发布时间】:2015-02-12 20:37:17
【问题描述】:
我有 RateIt jQuery Plugin 在 Django 应用程序上工作。我正在使用 Ajax 捕获值并将它们发送到服务器并更新页面上的值。
目前,每次用户点击星星时,我都会计算平均点击次数和总点击次数,并将其显示在星星旁边。由于这个项目正在开发中,我更感兴趣的是让它工作并显示大量数据。
但从可用性的角度来看,我认为允许用户设置一次、两次或在我的情况下为 5 次似乎是一种更好的方法。我正在使用文档中的一些内容,几乎可以满足我的要求:
$(ri).rateit('readonly', !$(ri).rateit('readonly'));
我在脚本(例如counter++;)和if 语句中碰到了一个计数器,我设置为readonly。问题是如果用户再次点击星星,它会切换write 模式(非readonly)。
此后的每次点击都会切换readonly 模式。
更新
在@Gidon(我相信是 RateIt 的创建者)的帮助下,我已经解决了这个问题。这是 Ajax 脚本中的一部分。我用counter = 0; 在Ajax 调用之外启动了一个计数器,然后用counter++; 对其进行了迭代,并用它来测试:
if (counter >= 3) {
$(ri).rateit('readonly', true);
$('.rateit').off('click');
}
我将其置于readonly 模式并移除了与jQuery 的off() 的点击绑定。
感谢@Gidon 的帮助。这工作正常。用户可以刷新页面并获得更多投票,但我有一些关于使用会话来防止这种情况的想法......
【问题讨论】:
标签: jquery django rating-system