【问题标题】:Numbered voting编号投票
【发布时间】:2011-05-17 02:32:18
【问题描述】:

如果有人可以帮助我,我将非常感激!我已经在互联网上搜索了很长时间,现在正在寻找一种方法来实现下面提到的所需用户交互性(也许已经有一个我不知道的类似脚本可用?)。

问题:

支持图片:http://img.photobucket.com/albums/v291/Dark_Jessa/btn_instructions.jpg

有一个候选人列表,每个候选人旁边都有一个圆圈。当用户在圆圈内点击时,里面会出现一个数字。对于所有其他圈子,此过程将继续进行,数字按升序排列。

如果用户改变了他们给圈子的号码的想法,用户可以点击该号码,它会离开圈子。

当用户在另一个圆圈内点击时,圆圈内的数字将替换为光标所在的数字。

示例: 用户希望“David MORGAN”成为他们的第二选择。因此,用户将在“David MORGAN”旁边的圆圈内单击。以前在圆圈中的数字“3”现在从圆圈中删除。

用户现在点击“Steve PRATT”旁边的圆圈,里面有数字“2”。附加到用户光标的数字“3”现在已在单击时替换了数字 2。用户现在无形地握着数字“3”。

我想要的下一部分是有一个提交按钮。当用户按下按钮时,他们的圈子选择将显示在新页面上,以便他们确认选择。

如果他们按下提交按钮,但尚未输入所有圈子,他们将被带到一个页面,通知他们这一点。

我不需要任何永久记录的数据,只需要确认时临时记录的选项。

有什么想法吗? :3

【问题讨论】:

  • 你好像忘了提到一种语言。
  • @user:是的,我同意@Ignacio。一些上下文怎么样?你的标签真的没有意义。
  • 您需要什么帮助?我们无法帮助您解决所有问题,但我们可以针对问题的一小部分提供指导。
  • 对不起 :( 我想 PHP 或 javascript 对我来说是最容易使用的。如果这可以使用它们中的任何一个来实现的话。
  • 项目的性质是什么?

标签: voting


【解决方案1】:

一个排名应该是未分配的,分配给候选人,或“由鼠标”持有以进行分配。编写一些代码,使每个等级处于这三种状态之一。

例如,使用两个(非全局)变量,(例如)nextRanknowRank。 nextRank 的值意味着所有排名 >= nextRank 都未分配。

当用户点击一个空圆圈时:

  1. 如果 nowRank 是正整数,则为候选者分配 nowRank 并将 nowRank 设置为 0
  2. 否则分配候选 nextRank 并递增 nextRank

当用户点击一个实心圆圈时,

  1. 如果 nowRank 是正整数,则交换候选人的排名和 nowRank(如果非零)
  2. else 将 nowRank 设置为候选人的等级并清除候选人的等级。

由于这是一个家庭作业问题,因此您可以考虑另一种情况:点击已排名的候选人会取消分配该排名,但不会分配以前未分配的排名。仅当候选人没有等级时才分配等级。你将如何实现它?

【讨论】:

  • 感谢您的回答,尽管我在编程方面非常n00b!但是,是的……现在我想起来,它变得有点复杂。我想我最好头脑风暴一个更好的方法......:S
  • 以上并不太复杂。它可以通过嵌套的if 语句来完成,两层深度(外部测试候选人是否已排名,内部测试 nowRank 是否为正)。使用 JS,代码将在一个函数中,您将注册为候选列表元素的点击处理程序。还有其他的,也许更巧妙的方法,但嵌套 ifs 就足够了。
猜你喜欢
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 2012-10-29
  • 2012-07-14
  • 1970-01-01
  • 2010-11-30
  • 2012-03-15
  • 1970-01-01
相关资源
最近更新 更多