【问题标题】:How to I prevent user from typing the same tag in the Textext textarea如何防止用户在 Textext 文本区域中键入相同的标签
【发布时间】:2013-06-21 06:25:46
【问题描述】:

我正在为标签使用Textext 插件。我试图实现的是防止在文本区域中键入的项目(标签)的多个重复。

正如您在上图中所见,标签“C”被输入了两次。它希望防止用户输入重复项。我该怎么做?

我遇到了filter plugin,但它的功能与我想要的有点不同。

我确信有一些好方法可以实现这一目标。请帮忙!

【问题讨论】:

  • 您可以在jsbin.comjsfiddle.net 上为我们创建一个演示
  • 只需将用户输入的值保存在某处,然后对于每个新值,您可以检查它们是否已经存在。 (注意在用户删除标签时也要删除一个值)
  • 我认为标签是在用户按下space/enter 按钮时生成的。如果是这样,请将这些标签存储在 space/enter 键函数中的数组中,稍后将它们与新值进行比较。
  • 不确定插件如何处理添加功能。

标签: javascript jquery jquery-plugins tags jquery-textext


【解决方案1】:

使用以下内容获取内部文本:

var txt = document.getElementById('textarea');
var insideText = $(txt).parent().children('div').text();

文本将采用串联形式。因此,当用户删除标签或创建新标签时,您需要小心。

要测试上述代码,请在浏览器开发者工具的控制台选项卡中运行。

【讨论】:

  • 我找到了解决上述问题的另一种方法。有一个“isTagAllowed”触发器,其中正在检查要插入的标签是否已经存在于先前输入的标签的全局数组中。如果该名称中已有标签,则返回 false,否则返回 true。
猜你喜欢
  • 2016-07-13
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-02
相关资源
最近更新 更多