需要有关实现将单个或多个对象与实体关联的建议。
所有足球队员都是单独注册的(例如他们是'球员'桌子的一部分)
足球队有很多球员。点击顺序如下: - a]足球队老板提供足球队的名字和简要说明。 b]现在它想要为这支球队添加球员。 c]您可以使用以下按钮“将球员添加到球队”,这样您就可以导航到“查看球员”页面并让您从那里多选用户。
假设这是一个分页的玩家列表,你如何处理以下事项: -
我正在寻找有关如何实施这个或已经做过类似事情的网站的想法。
答案 0 :(得分:1)
我会看到如下内容:
Players Roster
+---------------+ +---------------+
| | | |
| | | |
| | | |
| | | |
+---------------+ +---------------+
Filter: ---------
使用播放器列表中的列表元素(可能)有关于播放器的图片,名称和其他信息。
“过滤器”文本框允许用户键入部分名称并过滤列表,以便更轻松地找到所需的播放器。
每个元素都可以拖到名册列中,此时玩家将被添加到名单中。
我故意让这个平台不可知,因为你没有提到这是用于桌面还是Web应用程序。
由于这是一个Web应用程序,我建议让列表中的每个播放器都有自己的单独div,使用jQuery Draggable启用拖放功能,并使用jQuery的AJAX功能发回服务器以确保玩家被添加到名单中。
答案 1 :(得分:1)
快速查看http://www.extjs.com/deploy/dev/examples/writer/writer.html
处的用户界面我会有一个自动完成框,当用户按下回车键或按钮时,它会下拉玩家列表并将其添加到足球队
答案 2 :(得分:1)
复选框是适当的控件,允许在这种情况下进行多项选择。其他形式的多选(例如ctrl-click)应被视为所有用户都不知道的专家操作,因此如果用户通常一次选择所有玩家,那么您应该使用复选框显示该功能。或者,可以使用命令按钮,但仅在有明确指示选择了播放器时才使用。
两种设计:
一个。 玩家页面,其中显示了所有玩家的可排序/可过滤列表。该列表包括一个只读字段,用于标识玩家所在的团队。如果球员没有球队,那就是空白。对于没有团队的玩家,此标记为“注册”的字段旁边有复选框。立即使用用户的团队名称填写该字段。取消选中它会清除该字段。任何当前在用户团队中的玩家都会被指示一个选中的复选框,无论他们何时被添加。如果用户可以通过该页面将多个功能应用于玩家,则该设计是优选的,从而避免了为每个功能分别设置单独页面的复杂性,这使得导航复杂化并降低了用户灵活性。 “玩家”页面是一个通用的“玩家管理”页面,用户可以从主菜单导航到该页面 - 而不仅仅是从“添加玩家”按钮。请注意,例如,它还允许用户从他们的团队中删除玩家,这可能会派上用场(例如,“等一下。我昨天在我想要的时候将 Daniel Beckham放在我的团队中>大卫贝克汉姆!“)。当然,用户还应该能够直接从各自的团队页面中删除玩家。
湾可用玩家页面,其中显示了仅可分配给团队的玩家的可排序/可过滤列表。在这种情况下,已分配给用户团队(或任何团队)的玩家不会出现在列表中。当通常大多数玩家已经在团队中时,这种设计是首选,并且您希望避免使用户无法添加(或以其他方式编辑/管理)来滚动或翻页。在此设计的变体形式中,可用播放器是一个无模式对话框窗格,当用户单击“添加播放器”时,该窗格会将自身插入“团队”页面。而不是复选框,每个播放器旁边都有一个添加命令按钮。单击“添加”会从“可用玩家”列表中删除玩家,并且用户会看到玩家出现在他们的团队成员列表中。同样,从团队成员列表中删除玩家会从团队中删除该玩家并将其插入“可用玩家”窗格中。当然,删除播放器也应该可用,而无需先打开“可用播放器”窗格。为了支持高级用户,您还可以通过常用方法进行多项选择(拖动,按住Ctrl键,单击并按住Shift键),并允许用户将玩家拖放到“可用玩家”窗格和从“可用玩家”窗格拖放。
如果您希望用户需要定期使用这些过滤器,那么页面顶部的过滤器就可以了。但是,对于列表,左边距或右边距可能更适合过滤器,允许用户在不滚动的情况下查看尽可能多的玩家。如果过滤器是一种很少使用的专家功能,请将它们设置在另一个页面上,或者默认情况下隐藏它们。始终在“玩家”页面上指明当前的过滤器设置。如果过滤器位于“玩家”页面上,理想情况下它们应该(a)不占用太多空间(例如,顶部不超过150个垂直像素),(b)立即应用(即“分面搜索”), (c)当用户向下滚动列表时不滚动视图。