我找不到任何完全符合我的要求的解决方案,因此得到了以下结果:
我使用jQuery
keypress()事件来检查用户是否按下了
@字符。
在这种情况下,将使用jQuery UI显示模式对话框。此对话框包含一个自动完成的文本字段(可以在此处使用许多选项,但我建议使用jQuery
Tokeninput)
当用户在对话框中选择一个选项时,会将标签添加到文本字段,然后关闭对话框。
这不是最优雅的解决方案,但它可以工作,并且与我的原始设计相比,不需要额外的按键。
编辑
因此,基本上,我们有一个大文本框,用户可以在其中输入文本。他应该能够“标记”用户(这只是意味着
#<userid>在文本中插入)。我附加到jQuery
keyup事件,并
@使用
(e.which == 64)来显示显示模式的文本字段来检测字符,以选择要标记的用户。
解决方案的实质就是带有jQuery
Tokeninput文本框的模式对话框。当用户在此处键入时,将通过AJAX加载用户列表。请参阅网站上的示例以了解如何正确使用它。当用户关闭对话框时,我将选定的ID插入大文本框中。



